Loren Merritt氏の見解を表にしてみた。
SSIM値 | qp設定値(※) | |
---|---|---|
0.98 以上 | 20 | オリジナルと区別がつかない。 |
0.95 | 30 | 見るに耐えない。(*または辛うじて、そこそこ見られる*) |
0.9 | 40 | 非常に醜い。 |
0.8 | 51 | これ以上は圧縮できない |
0.7以下 | - | 素材に大量のノイズを加え、さらにそのノイズを量子化工程で消し去るほどqpを高くしない限り、達成困難。 |
※おそらく、qpを使った1パスABRと思はれる。
x264 と JM (10.2) の画質を比較する際に、自分は PSNR を使っていた。 自分の理解では、JM は実際の動きやテクスチャのディテイルの再現よりは、PSNRの向上を追求したものに思える。 x264も同じ方向性だろうか? また、画質の定義として、他に産業界で一般的な数値指標はないだろうか?というのは、PSNRはミスリードを起こす事があるからだ。なにかヒントか、コメントが欲しい。 |
While comparing x264 with JM (10.2) I had been using PSNR for comparing the qualities of the two encoders. I understand JM is an encoder designed to achieve better PSNR rather than track true motion, or increase texture detail. I was wondering if x264 was based on a similar theory? Also, what other metrics are usually being used in the industry to define video quality, since PSNR can be misleading at times. Any pointers/comments? Thanks Axel |
x264 はエンコードの SSIM を表示できる。これはより正確とされている: http://en.wikipedia.org/wiki/SSIM SSIM(From Wikipedia, the free encyclopedia) Guillaume -- 喧嘩することの無い人々の協調関係というものは、最大の国家連合からタウンミーティングや教区会に至るまで、これまでに存在した事が無い。 -- トマス・ジェファーソン (MPlayer ML におけるフレーミングについてインタビューを受けた際に) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
x264 can give the SSIM of the encode, which is supposed to be less missleading: http://en.wikipedia.org/wiki/SSIM Guillaume -- An association of men who will not quarrel with one another is a thing which has never yet existed, from the greatest confederacy of nations down to a town meeting or a vestry. -- Thomas Jefferson (when interviewed about MPlayer ML flamewars) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
こ んにちは Axel。 Guilliame が書いた通り、x264は SSIM と PSNRを算出できる。 ほとんどの場合、私はSSIMを使う事を奨める。SSIM は非常に良い指標だ。 そしておそらく、PSNRよりも早く、かつ正確なものとしては唯一だ。 単に非常に良い指標では満足できず、天下無双の指標を求めているならば、そしてまた各種指標の比較を知りたいならば、VQEG FR-TV Phase I および Phase II リポートが役立つかも知れない: http://www.its.bldrdoc.gov/vqeg/projects/frtv_phaseI/COM-80E_final_report.pdf上記のテストでは、最強の画質指標は NTIA (ANSI T1.801.03-2003, ITU BT.1683)だ。SSIM はほぼこれに対等。面白い事に、おおくの有名な指標、例えば JND (Tektronix/Sarnoff)や、DVQ (Watson/NASA) 、そして PDM(EPFL) などは、どれもY-PSNRだけを使った場合とほぼ同等か、より悪い(!)。 PSNRについて: シーンカットの無いシークエンスを、同じアルゴリズム(*この場合ほぼコデックと同義か*)で、設定を変えてエンコードした場合、視覚的にはPSNRの しかしながら、PSNRにはいくつか欠点がある。 1)PSNRの値そのものにはなんの意味も無い。例えば、PSNRが40のエンコード結果とオリジナル素材が二組あった場合、片方が素材同等に見える一方 で、もう片方は汚いアーティファクトが出ている、といった事があり得る。これは素材の長さとアルゴリズムのタイプに依存する。これは、大きな違いのあるア ルゴリズムを比べる際には、PSNRは使えないという事だ。また、PSNRを元にシーンカットを跨がるbit配分を行うのは無意味という事でもある。 2)本質的には目に見える事の無いアーティファクトの中に、PSNRに大きく影響するものがある(例えば、Y軸を均等にスケーリングしたり、各ピクセルに 少量のガウシアンノイズを加えてみて欲しい)。その一方で、PSNRに非常に低い影響しか持たないが、非常に目に留まり易いアーティファクトというものも ある(例えばブロッキング)。 SSIMはこれらの問題を、相当程度に緩和する。SSIMは動画/静止画の画質指標としては*ベストではない*が、 高速に算出できるものとしてはベストだ。SSIMの絶対値比較は妥当と言える。非常におおまかなガイドとしては、0.7以下は見るに耐えない。(*または 辛うじて、そこそこ見られる*)。0.8-0.85は多少の目に見える映像の歪みが出るが、大方の人にとってはOK。0.9以上はオリジナルと区別がつか ない。 注意して欲しいのは、x264のSSIMは"ほんとうの"SSIMアルゴリズムのあるべき姿とは別の方式で算出されている事だ。windowingも、 luma maskingも、motion maskingも無い。算出しているのは、sample of all possible positionsだけだ。しかしながら、多くの場合、"ほんとうのSSIM"の数パーセントは表している。そして概ね100倍くらいは早く算出できる。 ここで"多くの場合"とは、普通の長さ(*natural footage*)という意味だ。 可能性としては(*不詳*) があり得る。 しかしそうしたケースに遭遇する事は極めて稀だろう。もし本当のSSIMが欲しければ、私にそういうコードを書くように五月蝿く騒ぎ立ててくれ。;) |
Hello Axel, As Guilliame wrote, x264 can calculate SSIM as well as PSNR. I recommend using that for most work. SSIM is a very good metric, and probably the only one that is both fast and better than PSNR. If you are looking for the absolute best metric as opposed to a merely very good metric, and also for how to compare metrics, you may wish to read the VQEG FR-TV Phase I and Phase II reports: http://www.its.bldrdoc.gov/vqeg/projects/frtv_phaseI/COM-80E_final_report.pdf In those tests, the best metric is NTIA (ANSI T1.801.03-2003, ITU BT.1683). SSIM also does quite well. Interestingly, many well-known metrics such as JND (Tektronix/Sarnoff), DVQ (Watson/NASA) and PDM (EPFL) are either about the same, or worse than, using just Y-PSNR (!). About PSNR: if you encode the same continuous (no scenecuts) sequence with the same algorithm with several different settings, the version with the lower PSNR is almost always visually better. Thus PSNR does a reasonably good job of allowing you to optimise codec parameters that you can vary during an encode (like RDO or rate control). However, PSNR fails on several counts: 1) The absolute value of PSNR means nothing. In other words, looking at two pairs of original/encoded images both with PSNR of 40 (for example), one pair may look identical and the other may have gross artifacts. It all depends on the source footage and on the type of algorithm. This means that PSNR is useless for comparing significantly different algorithms. It also means that using PSNR to allocate bits accross scenecuts will result in bad decisions. 2) Some artifacts which are essentially invisible have a huge PSNR impact (try scaling Y uniformly or adding a small amount of gaussian noise to each pixel for example). Other things which are extremely visible have an unreasonably low PSNR impact (like blocking). SSIM fixes these problems to a significant degree. It is not *the best* video/image quality metric, but it is the best that can be computed quickly. SSIM absolute values can be reasonably compared: as a very rough guide, below 0.7 is barely watchable, 0.8-0.85 has some visible distortion but ok for most people, and 0.9 and higher are indistinguishable from the original. Please note that SSIM in x264 is not calculated the way that the "real" SSIM algorithm (and papers) say it should be. There is no windowing, no luma masking, no motion masking, and only a sample of all possible positions are calculated. However, it is within few percent of the "real" SSIM in most cases, while being about a hundred times faster to calculate. "Most cases" here pretty much means any natural footage; it may be possible to construct synthetic footage so as to defeat the approximations used, but you are extremely unlikely to ever encounter such. If you want real SSIM, bug me to release my code for that ;) Regards, --Alex |
PSNRについて:^^^^^ 高い程、 PSNRはエンコードの過程で変化するコデックのパラメータ(RDOやレートコントロール)を最適化す る上では まぁまぁ役に立つ。本当に?自分の意見では、 SSIM=0.98+ (qp=20) はオリジナルと区別がつかない。 SSIM=0.95 (qp=30) は見るに耐えない。(*または辛うじて、そこそこ見られる*) SSIM=0.9 (qp=40) は非常に醜い。 そしてこれ以上は圧縮できないレベル (qp=51) ですら SSIM=0.8となる。 手許では、素材に大量のノイズを付け加え、そのノイズを量子化工程で消し去るほどqpを高くしない限り、SSIMが0.7 以下となる映像は生成出来ていない。 PSNRでもSSIMでも、指標の絶対値は、圧縮後のストリームにどれだけのqualityが残っているかを示すというよりは、素材にあるノイズの量を示 すものだ。 しかしながらおそらく、同じノイズを持っていると想定される場合、映画の中の異なった場面を比較する上ではSSIMの方が上だろう。 --Loren Merritt |
On Thu, 30 Nov 2006, Alex Izvorski wrote: About PSNR: if you encode the same continuous (no scenecuts) sequence^^^^^ higher reasonably good job of allowing you to optimise codec parameters that Really? imo, SSIM=0.98+ (qp=20) is indistinguishable from the original, SSIM=0.95 (qp=30) is barely watchable, SSIM=0.9 (qp=40) is really ugly, and there could be nothing left of the content (qp=51) and still produce SSIM=0.8. I failed to generate any videos with SSIM<0.7 except by adding tons of noise to the source and then setting qp high enough that all the noise is quantized away. With both PSNR and SSIM, the absolute value of the metric is more a measure of how much noise was in the source than it is of how much quality is left in the compressed stream. Though perhaps SSIM does better at comparing difference scenes within one movie, when they can be assumed to have the same noise. --Loren Merritt |
x264 のモード決定や動き予測の過程でSSIMを使う方法はある? |
Is there a way of using SSIM in the mode decision and ME process of x264? Thanks, Gene |
x264 の土台部分には無い。しかし、 http://akuvian.org/src/x264/x264_ssim_map.00.diff このパッチの名前からすると、smthがなんかしてるんぢゃないかと思う。 Guillaume -- 喧嘩することの無い人々の協調関係というものは、最大の国家連合からタウンミーティングや教区会に至るまで、これまでに存在した事が無い。 -- トマス・ジェファーソン (MPlayer ML におけるフレーミングについてインタビューを受けた際に) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
Not natively with vanilla x264, but the name of this patch http://akuvian.org/src/x264/x264_ssim_map.00.diff makes me think that smth is in the works. Guillaume -- An association of men who will not quarrel with one another is a thing which has never yet existed, from the greatest confederacy of nations down to a town meeting or a vestry. -- Thomas Jefferson (when interviewed about MPlayer ML flamewars) http://www.brainyquote.com/quotes/quotes/t/thomasjeff157207.html |
コンテナは全てのものを統合するパートです。映像(実際の画像)、オーディオ、その他に必要なものは全てコンテナの中に入れておく必要があります。複数のファイルをZipアーカイブの中に入れるような感じです。
コンテナが必要な理由は次のようなものです:
サブページ「コンテナ(英文試訳)」に様々なコンテナの情報があります。
ビデオストリームには実際に表示される映像データが入っています(ここで"動画ファイル"と言う場合はオーディオとビデオが入ったものを指します。"ビデオストリーム"は映像のみの場合に使います)。ひらたく言うと、圧縮された映像です。
これも Matroska のみの機能。 SSA/ASS字幕をmuxする時に、小洒落たフォントを使いたいがそれが再生されるコンピュータにあるとは限らない、といった事があります。Matroskaファイルのそのフォントをアタッチしてしまえば、vsfilter(デファクトのdirectshow用字幕レンダラ)がそのフォントを使って字幕を再生してくれます。
これが何なのかは説明する必要はないでしょう。フォーマットによりチャプタのスタイルは異なります。以下はMatroskaの例です。
<Chapters>
<EditionEntry>
<EditionUID>1</EditionUID>
<EditionFlagHidden>1</EditionFlagHidden>
<EditionFlagDefault>0</EditionFlagDefault>
<ChapterAtom>
<ChapterUID>1</ChapterUID>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>Part A</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
</ChapterAtom>
<ChapterAtom>
<ChapterUID>2</ChapterUID>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>Part B</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
<ChapterTimeStart>00:09:48.000000000</ChapterTimeStart>
</ChapterAtom>
</EditionEntry>
やっかいですね。次はOGG フォーマットのチャプタです:
CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 1
非常に簡単です。もちろん、Matroskaのほうが機能が豊富です。ここでは深入りしませんが、オーダード・チャプタについてだけ少し解説しておきます。
再生時に、動画ファイルの一部分として、他のmatroskaファイルを参照するチャプタ。例えば、TVシリーズをエンコードしたとしましょう。まず、全エピソードのオープニングとエンディングをカットしてそれぞれ独立したファイルを2個作ります。次に、本編ファイルにオーダード・チャプタを使えば、再生時にオープニングとエンディングを自動的に再生してくれます。
MKV と MP4コンテナに埋め込める機能。再生時に使うアスペクト(*縦横*)比の値、 anamorphic再生とも言います。例えば、16:9の映画を4:3のアスペクト比でエンコードした場合、MKVにmuxする際に再生時のアスペクトを 16/9と指定してやれば、再生ソフトは自動的にそのアスペクト比にリサイズして再生してくれます。
Layer 2: 別名MP2。かなり稀少。その名称からMP3の方が良いと思う人が多いのだろう。Wikipedia(英文)によると、256kbits以上では MP3 よりも音が良い。
Layer 3: MP3と呼ぶほうが有名。これはオーディオ・フォーマッ トの .avi であり、最も互換性が高い。音質は'平均的'。すなわち、全てのフォーマットのうちでいちばん悪い。しかしファイルはとても小さくなるので、単にビット レートを上げればしあわせになれる。エンコードは LAME (LAME Ain't an MP3 Encoder ~ これは頭文字からつくった名称だから無視していい。LAME は MP3 エンコーダだ)。
AAC、 別名Advanced Audio Coding、別 名MPEG-4 Part 3、別名MPEG-2 Part 7(まぁ、AACでいいだろう)詳細はwikipedia(英文) 。音質はMP3よりも良い。恐らく他のどのコデックより良いだろう。
AACには三種類の 'プロファイル' がある。LC (Low Complexity)、HE (high efficiency)、そして HEv2 (High Effiency version 2)。LC は"ノーマルな"プロファイル。一般的なAACファイルはLCだ。もしも概ね64kbits以下でエンコードするなら(大体の目安。Neroは75- 80kbit程度を使う)、HEにしても良いだろう。このレベルのビットレートではその方が音が良い。同様に、さらに40kbits程度まで下げるなら HEv2を。
ただし、これは理想の話。現実には、作成できるプロファイルに制限のあ るAACエンコーダもある。また、256kbitのAAC-HEv2ファイルを作る理由も無い。そうしたものは256kbitのAAC-LCより音が良い わけでは無く、再生互換性の問題も生じるからだ。再生できるプロファイルに制限のあるデコーダもある(現時点では、まさにiTunes/iPodsだけがHE および HEv2プロファイルをサポートしていない。おそらく将来は対応するだろう。たぶん)。
AACが定義するその他のプロファイルとしては、Main profileとLong Term Prediction (LTP)がある。これらはどちらも非常に面白いのだがツールはほとんど無い。ほぼFAACのみだ。
主なAACエンコーダは三つある(他にもあるがこれらが一般的だ)。
完全にパテントフリーのオーディオコデックで、音質はAACに肉薄する。各所のテストで一等と評価される事もある。'ふつうの'ビッ トレートでは違いはぎりぎり首の差だ。一般的に Ogg Vorbisと呼ばれるが、ここではオーディオコデックのみを指す Vorbisと呼ぶ。というのは他のコンテナで使う事もあるからだ。Oggはコンテナの名前で、一般的にはVorbisはこれに入っている事が多い (.ogg)。Vorbis は、Xiph organizationが他の変なコデックと一緒に開発している。一般的なコデックは一つも無い。
DolbyスタジオによるATSC A/52 規格に準拠したもの。Dolby Digital AC3 は、Dolbyの、基本的にはロシー(*ロスレスの逆*)なオーディオコデックだ。彼らが長年開発している包括的なコデック群のひとつ。DVDと、大半の Digital TV放送でスタンダードに使われている。もしも 音声がAC3 audio のファイルがあったら、通常は音声は素材のままと思って良いだろう。それが望み得る最善の音質だ。しかしながら、ほかのロシーコデックと比べると、非常に 非効率的でディスクスペースを喰う。
DTS (Digital Theater Systems) は極めて高ビットレートのオーディオコデックで、エンコードにおいては先ず使われない。DVD規格の公式コデックだが、対応は必須では無いのでDTSをデ コードできないDVDプレイヤもある。巨大なもの (768 kbps) とむちゃむちゃ巨大なもの (1,536 kbps)の二通りがある。448kbitの 5.1 AC3 の方が768kbitの 5.1 DTSよりも音が良い事に注意。ひらたく云うと、ディスクスペースの無駄でしか無く、これファイルに突っ込むヤツは切腹すベシ。
1
00:00:20,000 --> 00:00:24,400
In connection with a dramatic increase
in crime in certain neighbourhoods,
Style: Default,Arial,40,16777215,16777215,16777215,-2147483640,-1,0,1,1,1,2,30,30,25,0,0
Dialogue: Marked=0,0:25:50.40,0:25:53.06,*Default,Comment,0000,0000,0000,,Kakarrot-o!!
Style: Batou,Century Gothic,28,&H00C0C0C0,&H00000000,&H00000000,&H7F000000,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,0
Dialogue: 0,0:13:00.11,0:13:03.77,Batou,,0000,0000,0000,,Both our faces aren't meant for mirrors.
timestamp: 00:18:40:752, filepos: 0000aa000
<TextSample sampleTime="00:03:35.980" xml:space="preserve">Please excuse me.</TextSample>
※補足
svn co svn://svn.videolan.org/x264/trunk x264x264 のAPIに変更があれば、MPlayerのソースコードも変更されます。ですからMPlayerも常にSVN版を使うのが良いで しょう。おそらくこの状況は x264が「リリース」されたら変わると思います。それまでの間、x264は極めて「unstable」と考えるべきでしょう。というのは、プログラミン グ・インタフェイスが変更の対象になっているからです(*参考記事:MEncoderの-x264encopts、大規模改訂*)。
./configure && make && sudo make installこれで libx264.a が /usr/local/lib に、そして x264.h が /usr/local/includeにインストールされます。
./configure && make && sudo make installこれでMEncoderのconfigure スクリプトがx264を自動検出するハズです。
x264の手許常用値(一律1024kbps) | x264で良く見かける高画質値 (約2000kbps) | Apple TV | H.26Lの"素材と見分けがつか ない"レベル |
640x272 (シネスコ) | 640x352 (16:9) | 640x480 (4:3) | 704x480 (無効領域抜き) | 720x480 (D1) | 960x540 (16:9) | 1280x720 (16:9) | 1920x1080 (16:9) | ||||||||||
BPP | ASPの 経験則 |
24fps | 30fps | 24fps | 30fps | 24fps | 30fps | 24fps | 30fps | 24fps | 30fps | 24fps | 30fps | 24fps | 30fps | 24fps | 30fps |
32.00 | (TrueColor) | 133,560 | 166,950 | 172,842 | 216,053 | 235,694 | 294,617 | 259,263 | 324,079 | 265,156 | 331,445 | 397,733 | 497,167 | 707,082 | 883,852 | 1,590,934 | 1,988,667 |
24.00 | (FullColor) | 100,170 | 125,212 | 129,632 | 162,040 | 176,770 | 220,963 | 194,447 | 243,059 | 198,867 | 248,583 | 298,300 | 372,875 | 530,311 | 662,889 | 1,193,200 | 1,491,500 |
16.00 | (HighColor) | 66,780 | 83,475 | 86,421 | 108,026 | 117,847 | 147,309 | 129,632 | 162,040 | 132,578 | 165,722 | 198,867 | 248,583 | 353,541 | 441,926 | 795,467 | 994,334 |
8.00 | (256Color) | 33,390 | 41,737 | 43,211 | 54,013 | 58,923 | 73,654 | 64,816 | 81,020 | 66,289 | 82,861 | 99,433 | 124,292 | 176,770 | 220,963 | 397,733 | 497,167 |
1.00 | (白黒二値) | 4,174 | 5,217 | 5,401 | 6,752 | 7,365 | 9,207 | 8,102 | 10,127 | 8,286 | 10,358 | 12,429 | 15,536 | 22,096 | 27,620 | 49,717 | 62,146 |
0.50 | 2,087 | 2,609 | 2,701 | 3,376 | 3,683 | 4,603 | 4,051 | 5,064 | 4,143 | 5,179 | 6,215 | 7,768 | 11,048 | 13,810 | 24,858 | 31,073 | |
0.40 | 1,669 | 2,087 | 2,161 | 2,701 | 2,946 | 3,683 | 3,241 | 4,051 | 3,314 | 4,143 | 4,972 | 6,215 | 8,839 | 11,048 | 19,887 | 24,858 | |
0.39 | 1,628 | 2,035 | 2,107 | 2,633 | 2,873 | 3,591 | 3,160 | 3,950 | 3,232 | 4,039 | 4,847 | 6,059 | 8,618 | 10,772 | 19,390 | 24,237 | |
0.38 | 1,586 | 1,983 | 2,053 | 2,566 | 2,799 | 3,499 | 3,079 | 3,848 | 3,149 | 3,936 | 4,723 | 5,904 | 8,397 | 10,496 | 18,892 | 23,615 | |
0.37 | 1,544 | 1,930 | 1,998 | 2,498 | 2,725 | 3,407 | 2,998 | 3,747 | 3,066 | 3,832 | 4,599 | 5,748 | 8,176 | 10,220 | 18,395 | 22,994 | |
0.36 | 1,503 | 1,878 | 1,944 | 2,431 | 2,652 | 3,314 | 2,917 | 3,646 | 2,983 | 3,729 | 4,475 | 5,593 | 7,955 | 9,943 | 17,898 | 22,373 | |
0.35 | 1,461 | 1,826 | 1,890 | 2,363 | 2,578 | 3,222 | 2,836 | 3,545 | 2,900 | 3,625 | 4,350 | 5,438 | 7,734 | 9,667 | 17,401 | 21,751 | |
0.34 | 1,419 | 1,774 | 1,836 | 2,296 | 2,504 | 3,130 | 2,755 | 3,443 | 2,817 | 3,522 | 4,226 | 5,282 | 7,513 | 9,391 | 16,904 | 21,130 | |
0.33 | 1,377 | 1,722 | 1,782 | 2,228 | 2,431 | 3,038 | 2,674 | 3,342 | 2,734 | 3,418 | 4,102 | 5,127 | 7,292 | 9,115 | 16,407 | 20,508 | |
0.32 | 1,336 | 1,669 | 1,728 | 2,161 | 2,357 | 2,946 | 2,593 | 3,241 | 2,652 | 3,314 | 3,977 | 4,972 | 7,071 | 8,839 | 15,909 | 19,887 | |
0.31 | 1,294 | 1,617 | 1,674 | 2,093 | 2,283 | 2,854 | 2,512 | 3,140 | 2,569 | 3,211 | 3,853 | 4,816 | 6,850 | 8,562 | 15,412 | 19,265 | |
0.30 | 無意味 | 1,252 | 1,565 | 1,620 | 2,025 | 2,210 | 2,762 | 2,431 | 3,038 | 2,486 | 3,107 | 3,729 | 4,661 | 6,629 | 8,286 | 14,915 | 18,644 |
0.29 | 1,210 | 1,513 | 1,566 | 1,958 | 2,136 | 2,670 | 2,350 | 2,937 | 2,403 | 3,004 | 3,604 | 4,506 | 6,408 | 8,010 | 14,418 | 18,022 | |
0.28 | 1,169 | 1,461 | 1,512 | 1,890 | 2,062 | 2,578 | 2,269 | 2,836 | 2,320 | 2,900 | 3,480 | 4,350 | 6,187 | 7,734 | 13,921 | 17,401 | |
0.27 | 1,127 | 1,409 | 1,458 | 1,823 | 1,989 | 2,486 | 2,188 | 2,734 | 2,237 | 2,797 | 3,356 | 4,195 | 5,966 | 7,458 | 13,424 | 16,779 | |
0.26 | 1,085 | 1,356 | 1,404 | 1,755 | 1,915 | 2,394 | 2,107 | 2,633 | 2,154 | 2,693 | 3,232 | 4,039 | 5,745 | 7,181 | 12,926 | 16,158 | |
0.25 | 非常に良い | 1,043 | 1,304 | 1,350 | 1,688 | 1,841 | 2,302 | 2,025 | 2,532 | 2,072 | 2,589 | 3,107 | 3,884 | 5,524 | 6,905 | 12,429 | 15,536 |
0.24 | 1,002 | 1,252 | 1,296 | 1,620 | 1,768 | 2,210 | 1,944 | 2,431 | 1,989 | 2,486 | 2,983 | 3,729 | 5,303 | 6,629 | 11,932 | 14,915 | |
0.23 | 960 | 1,200 | 1,242 | 1,553 | 1,694 | 2,118 | 1,863 | 2,329 | 1,906 | 2,382 | 2,859 | 3,573 | 5,082 | 6,353 | 11,435 | 14,294 | |
0.22 | 918 | 1,148 | 1,188 | 1,485 | 1,620 | 2,025 | 1,782 | 2,228 | 1,823 | 2,279 | 2,734 | 3,418 | 4,861 | 6,076 | 10,938 | 13,672 | |
0.21 | 876 | 1,096 | 1,134 | 1,418 | 1,547 | 1,933 | 1,701 | 2,127 | 1,740 | 2,175 | 2,610 | 3,263 | 4,640 | 5,800 | 10,441 | 13,051 | |
0.20 | 充分 | 835 | 1,043 | 1,080 | 1,350 | 1,473 | 1,841 | 1,620 | 2,025 | 1,657 | 2,072 | 2,486 | 3,107 | 4,419 | 5,524 | 9,943 | 12,429 |
0.19 | 793 | 991 | 1,026 | 1,283 | 1,399 | 1,749 | 1,539 | 1,924 | 1,574 | 1,968 | 2,362 | 2,952 | 4,198 | 5,248 | 9,446 | 11,808 | |
0.18 | 751 | 939 | 972 | 1,215 | 1,326 | 1,657 | 1,458 | 1,823 | 1,492 | 1,864 | 2,237 | 2,797 | 3,977 | 4,972 | 8,949 | 11,186 | |
0.17 | 710 | 887 | 918 | 1,148 | 1,252 | 1,565 | 1,377 | 1,722 | 1,409 | 1,761 | 2,113 | 2,641 | 3,756 | 4,695 | 8,452 | 10,565 | |
0.16 | 668 | 835 | 864 | 1,080 | 1,178 | 1,473 | 1,296 | 1,620 | 1,326 | 1,657 | 1,989 | 2,486 | 3,535 | 4,419 | 7,955 | 9,943 | |
0.15 | 低画質 | 626 | 783 | 810 | 1,013 | 1,105 | 1,381 | 1,215 | 1,519 | 1,243 | 1,554 | 1,864 | 2,330 | 3,314 | 4,143 | 7,458 | 9,322 |
0.14 | 584 | 730 | 756 | 945 | 1,031 | 1,289 | 1,134 | 1,418 | 1,160 | 1,450 | 1,740 | 2,175 | 3,093 | 3,867 | 6,960 | 8,700 | |
0.13 | 543 | 678 | 702 | 878 | 958 | 1,197 | 1,053 | 1,317 | 1,077 | 1,346 | 1,616 | 2,020 | 2,873 | 3,591 | 6,463 | 8,079 | |
0.12 | 501 | 626 | 648 | 810 | 884 | 1,105 | 972 | 1,215 | 994 | 1,243 | 1,492 | 1,864 | 2,652 | 3,314 | 5,966 | 7,458 | |
0.11 | 459 | 574 | 594 | 743 | 810 | 1,013 | 891 | 1,114 | 911 | 1,139 | 1,367 | 1,709 | 2,431 | 3,038 | 5,469 | 6,836 | |
0.10 | ヤメとけ | 417 | 522 | 540 | 675 | 737 | 921 | 810 | 1,013 | 829 | 1,036 | 1,243 | 1,554 | 2,210 | 2,762 | 4,972 | 6,215 |
0.09 | 376 | 470 | 486 | 608 | 663 | 829 | 729 | 911 | 746 | 932 | 1,119 | 1,398 | 1,989 | 2,486 | 4,475 | 5,593 | |
0.08 | 334 | 417 | 432 | 540 | 589 | 737 | 648 | 810 | 663 | 829 | 994 | 1,243 | 1,768 | 2,210 | 3,977 | 4,972 | |
0.07 | 292 | 365 | 378 | 473 | 516 | 644 | 567 | 709 | 580 | 725 | 870 | 1,088 | 1,547 | 1,933 | 3,480 | 4,350 | |
0.06 | 250 | 313 | 324 | 405 | 442 | 552 | 486 | 608 | 497 | 621 | 746 | 932 | 1,326 | 1,657 | 2,983 | 3,729 | |
0.05 | 209 | 261 | 270 | 338 | 368 | 460 | 405 | 506 | 414 | 518 | 621 | 777 | 1,105 | 1,381 | 2,486 | 3,107 | |
0.04 | 167 | 209 | 216 | 270 | 295 | 368 | 324 | 405 | 331 | 414 | 497 | 621 | 884 | 1,105 | 1,989 | 2,486 | |
0.03 | 125 | 157 | 162 | 203 | 221 | 276 | 243 | 304 | 249 | 311 | 373 | 466 | 663 | 829 | 1,492 | 1,864 | |
0.02 | 83 | 104 | 108 | 135 | 147 | 184 | 162 | 203 | 166 | 207 | 249 | 311 | 442 | 552 | 994 | 1,243 | |
0.01 | 42 | 52 | 54 | 68 | 74 | 92 | 81 | 101 | 83 | 104 | 124 | 155 | 221 | 276 | 497 | 621 | |
0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
参考リンク
改訂履歴
【所感】
(*1)MPEG-4 Systems standard (ISO/IEC 14496-1)に基づくマルチメディア・フレームワークです。
これがGPACの本分。フレームワークと言うのは良く解らないが、なんでもイチからCでゴリゴリ書くより、必要に応じて呼び出せるもん作っておい たほうがいいでしょというようなもんらしい。ライブラリとどう違うのか良く解らないが「集合」かな?KTC眼鏡レンチセット、みてーな。プログラマではな いので深入りしない。
MPEG-4 Systemsとはなんぞやということになると、鬼のように幅広く、イメージしにくい。
放送・通信のみならず、インタラクティビティという点ではゲーム(的なもの)も包含しうる。
ってもオイラにイメージが湧くのはそのくらいで、ぜってーその先がある。
その他GPACプロジェクトのドキュメントを読んでも読んでも「なんだかスゴそうだ」という印象以上のもんが持てないのは、ベースがQuickTime(時 間軸を基軸にデジタルデータを管理する考え方、テクノロジーというよりプリンシパル)である事と無縁ではないだろう。
MPEG-4規格自体が、純粋に「デジタルで動画を扱う事」を目指したMPEG-1/2とは根本的に性質が異 なる。
(*2)他にもGPACはMPEG-4 Systemの encoder/multiplexerの機能を持っています。
【ソースコード内のmanがD&Dで開けた】
$ man /Users/USERNAME/gpac/doc/man/gpac.1
NAME
GPAC - MPEG-4 Systems Framework and Software Development Kit
DESCRIPTION
GPAC stands (does it ?) for GPAC Project on Advanced Content. It is an
implementation of the MPEG-4 Systems standard written in ANSI C. GPAC
provides tools for media playback, vector graphics and 3D rendering,
MPEG-4 authoring and distribution. This man page is about configura-
tion of the GPAC framework version 0.4.3.
INTRODUCTION
Some applications in the GPAC framework use a configuration file shared
among modules and reloadable at run time. This file is located in the
user home directory and called ".gpacrc".
The configuration file is based on the win32 .ini file model, ordered
by sections and keys.
A section is declared as [SectionName] , a key is declared as key-
Name=value , the key value is not interpreted and always handled as
ASCII text. Plugins may use the configuration file as well (to avoid
multiple files).
Note on plugin names: Plugin names as given in the configuration file
are names exported by each interface and not name of the physical
library file (.dll/.so ...). The physical file name can however be
used to identify a plugin, it will be replaced by the interface name if
the plugin was successfully loaded.
【~/gpac/applicationsの内容】
そうすっとgpacアプリケーションの一覧がそれなりに埋まる。
名前 | 種類 | メモ |
CVS | folder | |
GPAX | folder | GPAC ActiveX control, IE only |
Makefile | file | |
generators | folder | |
mp42avi | folder | NAME MP42AVI - MPEG-4 BIFS to Video converter SYNOPSIS MP42AVI [options] file DESCRIPTION MP42AVI is a tool to convert a pure MPEG-4 BIFS presentation (no audio, no image, no video) to an uncompressed sequence of images or an uncom- pressed RGB avi file. Pages du manuel Linux |
mp4box | folder | MPEG-4, 3GP, 3GP2コンテントの作成と配布に必要な機能を一つにまとめたツール。 NAME MP4Box - MPEG-4 Systems Toolbox SYNOPSIS MP4Box [options] file [options] DESCRIPTION MP4Box is a multi-purpose command line tool to create and edit MPEG-4 Systems presentations and manipulate ISO-media files (MP4, 3GP, MOV). MP4Box supports file conversion from various raw formats and IsoMe- dia/AVI/MPEG-PS/OGG containers, file hinting for RTP streaming for QuickTime compatible streaming servers, file interleaving, file frag- mentation and track extraction. MP4Box also provides dump tools used to inspect file layout, RTP hint tracks, SDP information, scene composition. It may also be used to con- vert to and from BT/XMT-A/VRML/X3D. MP4Box also features MPEG-4 Systems encoders and decoders for BIFS and OD tools. MP4Box doesn't expect any particular order in options at prompt. |
mp4client | folder | NAME MP4Client - GPAC MPEG-4 command-line Player SYNOPSIS MP4Client [options] [file] DESCRIPTION MP4Client is GPAC command-line player. It supports all GPAC playback features (2D and 3D support, local playback, RTP streaming, HTTP fast- start, many audio and video codecs ...). MP4Client also supports visual extraction to BMP, RAW or AVI (no compression, no audio). |
osmo4_sym | folder | GPAC Players |
osmo4_w32 | folder | GPAC Players |
osmo4_wce | folder | GPAC Players |
osmo4_wx | folder | GPAC Players |
osmophone | folder | GPAC Players |
osmozilla | folder | GPAC plugin for mozilla-based browsers |
standalone2drender | folder | |
testapps | folder | |
v4studio | folder |
x264 はH.264 映像ストリームを作成する為のライブラリです。100%完成してはいませんが、少なくともH.264の機能のなかで品質に影響の大きな機能はほとんど、なんらかの形でサポートしています。H.264規格の先進的な機能の中には、本質的に映像の品質とは全く無関係なものたくさん定義されています。そうしたものの多くは、まだx264には実装されていません。
エンコーダの機能
7.1.3.1. What is x264?
x264 is a library for creating H.264 video streams. It is not 100% complete, but currently it has at least some kind of support for most of the H.264 features which impact quality. There are also many advanced features in the H.264 specification which have nothing to do with video quality per se; many of these are not yet implemented in x264.
Encoder features
H.264 は ITU と MPEG が共同で開発した新しいデジタルビデオコデックの名称です。大変ややこしい事に、“ISO/IEC 14496-10“ とか “MPEG-4 Part 10“ などとも言います。一般的には “MPEG-4 AVC“ とか、単に “AVC“ とも呼ばれます。
なんと呼ぼうと H.264 は一般的にMPEG-4 ASPの品質を 5%~30%低いビットレートで実現できますから、試す価値はあります。実際の結果は素材映像の内容とエンコーダの性能によります。しかしH.264はメリットだけではありません。 デコードには極めて高速なCPUと大量のメモリが必要なようです。実例を挙げると、1733 MHzのAthlonで、DVD解像度の1500kbps H.264 ビデオの再生はCPUの約35% を使います。これに対してDVD-解像度の1500kbps MPEG-4 ASP ビデオはCPUの10%しか使いません。これは大半のユーザーにとってHD解像度の再生はほとんど問題外だという事です。また同時に、そこそこのDVD ripですら2.0 GHz程度以下のプロセッサではぎくしゃくする事があると言う事でもあります。
エンコードに必要な性能は、少なくとも x264ではそこまで酷くありません。例えば、1733 MHzの Athlon では一般的な DVD エンコードは 5-15fps程度で走ります。
この文書ではH.264の詳細は説明しませんが、おおまかな概略はこちらのpdfにあります: The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions.
*当ブログ内に一部試訳あり、Doom9-AVC情報試訳も参照。
http://www.mplayerhq.hu/DOCS/HTML/en/video-codecs.html#codec-h264-whatis
H.264 is one name for a new digital video codec jointly developed by the ITU and MPEG. It can also be correctly referred to by the cumbersome names of “ISO/IEC 14496-10“ or “MPEG-4 Part 10“. More frequently, it is referred to as “MPEG-4 AVC“ or just “AVC“.
Whatever you call it, H.264 may be worth trying because it can typically match the quality of MPEG-4 ASP with 5%-30% less bitrate. Actual results will depend on both the source material and the encoder. The gains from using H.264 do not come for free: Decoding H.264 streams seems to have steep CPU and memory requirements. For instance, on a 1733 MHz Athlon, a DVD-resolution 1500kbps H.264 video requires around 35% CPU to decode. By comparison, decoding a DVD-resolution 1500kbps MPEG-4 ASP stream requires around 10% CPU. This means that decoding high-definition streams is almost out of the question for most users. It also means that even a decent DVD rip may sometimes stutter on processors slower than 2.0 GHz or so.
At least with x264, encoding requirements are not much worse than what you are used to with MPEG-4 ASP. For instance, on a 1733 MHz Athlon a typical DVD encode would run at 5-15fps.
This document is not intended to explain the details of H.264, but if you are interested in a brief overview, you may want to read The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions.