StreamParserはパナソニックのGシリーズ一眼専用のビデオファイル分析ソフトです。
本ソフトを本格的に使いこなすには、MPEGやH.264といった各種規格に関する知識が必要ですが、たとえ少々意味がわからなくても、StreamParserの吐き出すログはパッチの開発者及びテスターにとって非常に役に立つものなので、ぜひ使ってみてください。
StreamParserにファイルを読み込んでスタートするには次の2通りの方法があります。 ※ StreamParserでAVCファイル(”***.MTS”)を開く前に、必ずコピーを取っておきましょう。
ビデオファイル全体を読み込んで分析する。
ビデオファイルの最初の10秒を読み込んで分析する。 (※デフォルトは10秒ですが「Configuration」→「Configure Quick Test」で読み込む尺を変更可能)
大きなファイルの場合、分析に長い時間を要します。もし特にファイル全体を分析する必要がなければ、「Quick Test」で開くことを推奨します。
ここでは一連のビデオデータが個々のフレームに分割されます。
表1列目:GOPフレームフォーマットにおけるフレームナンバー
表3列目「Offset」:MTSファイルの該当フレームの開始アドレス
表4列目「Length」:そのフレームに含まれるデータ量
表5列目「Type」:フレームタイプ(I、P、B、又はA)
※ A(Audio)フレームは、ストリームフレームグラフ(H)のすぐ上の「Include Audio」チェックボックスがオンの場合にのみ表示されます。
※ 各列の見出し部分をクリックすると、該当項目の数値の昇順(降順)で表の並び替えが行われる。
フレームデータパネル(C)とストリームフレームグラフ(H)の表示を同期させるボタン。 ストリームデータパネル(A)の最初のフレームがグラフの最初のフレームになります。
ストリームデータパネルで選んだフレームをTS(Transport Stream)パケット単位で分割します。 表1列目「Packet」:選択フレームの冒頭からのパケットナンバー
表2列目「Offset」:MTSファイルにおけるそのパケットの開始アドレス
表3〜5列目「E」「S」「P」:TSのヘッダーフラグ
表6列目「PID」:TSのパケットID
表7〜9列目「SC」「AF」「CC」:TSのヘッダーフラグ
表10列目「Type」:パケットタイプ。「VID」:ビデオ、「AUD」:音声
表11列目「Abs Packet」:(ファイル冒頭からの)完全パケットナンバー
表冒頭の「Frame Data」横の()内の数値は選択されたフレームナンバーを示します。 各列の見出し部分をクリックすると、該当項目の数値の昇順(降順)で表の並び替えが行われる。
このボタンを押すことによって、「メディアプレーヤー」が起動します。メディアプレーヤーの詳細については下で説明します。
フレームデータパネルで選択されたフレームの16進法データが表示されます。 表題の「Packet Data」横の()内の数値は、選択フレームの「Packet」値/「Abs Packet」値を示す。
Bの「選択」ボタンと近いですが、ストリームデータパネルで選択されたフレームがストリーム・フレームグラフの1列目としてセットされます。
このスライダーを動かすことで、グラフに表示される列数(=フレーム数)の数を変更できます。グラフの拡大縮小用。
グラフ上部右の「Include」チェックボックスで「video」と「audio」のどちらがオンになっているかに応じて、選択されたストリームにおける、フレーム毎のサイズのデータがプロットされます。 グラフで表わされるフレームサイズの単位は「bytes」か「bits」かを選べるようになっています。
情報パネル(J)の内容を大きい別ウィンドウで表示する。
ストリーム、選択されたフレームとパケットの情報を示します。
ストリームパーサーをタイムモードに変更する。
タイムモードでは「フレーム」は実際の時間単位(一般的に0.092 – 0.096秒)で分割された時間を表す。このような時間分割においてはタイプの異なった複数のパケットが含まれます(ビデオ、音声、タイミング、パラメータセットetc)。 フレームモードと違い、タイムモードはすべてのパケットタイプを示します。単純にビデオまたは音声だけではありません。
各時間単にに含まれるデータ量を示します。
グラフのビットレートライン(線グラフ)を平滑化します。
フレームモードで「ファイルストリーム開始」ボタン(D)がクリックされると、フレームデータパネル内に「Windowsメディアプレーヤー」が表示されます。 このプレーヤーは別ウィンドウに分離して表示することもできます(detachボタン)。ストリームが再生されると、それに応じてストリーム・フレーム・グラフのマーカーが付随して動くようになっています。 【情報パネル】
“Show Big Information Panel”ボタンを押すと情報パネルが開きます。ビットレート、各タイプのフレームサイズの最小、最大、平均の確認に便利です。
フォーラム等に分析結果を投稿するための情報を一覧にまとめた簡易フォーム(=スナップショット)を作成する機能もあります。 「File」→「Generate Snapshot Report」 このスナップショットはイメージファイルとして保存することができます。StreamParserによる検証データは他のテスターにとってとても有用なので、使用したセッティング名と合わせてフォーラムに投稿すると喜ばれます。
Note: Thumbnail is only shown when Stream Player is opened and not detached.
その他のメニューオプションでも色々なことができます。
JM-SP Decoderは、AVCファイル(.MTS)のビデオ部分のみ(エレメンタリーストリームファイル.264)を取り出し、エンコードされたビデオを各パラメータによって詳細に画質分析できるツールです。
JM-SP Decoderは「Configuration」→「Configure JM-SP Decoder」メニューによって設定変更できます。
Before the JM-SP decoder can be run a Video Elementary Stream File (“xxx.264”) must be created by clicking on the “Tools>Create Elementary Stream File” menu item. The Elementary Stream File can also be used with other video analyzers and is normally much faster than using “MTS” files with analyzers such as Elecard’s StreamEye.
The JM-SP decoder is started by clicking on the “Decode Elementary Stream File (JM-SP Decoder)” menu item under “Tools”. After processing is complete a window is presented showing the decode log (which is also saved as “xxx.log”).
The log file contains quite a bit of useful data to help determine how well a video clip has been encoded. The items shown for each frame are:
フレームナンバー(StreamParserで表示されるのと同じです)
フレームタイプ(IDR、I、P、B) 注)インターレース映像に関しては表示された個々のフレームは実際には2つのフィールドが1枚の画面(フレーム)となって表示されています。例えば、1つのインターレース・フレームは「I|P」などと表示される。これは、実際にはフレームを構成する2フィールドのうち、半分が「I」で、もう半分が「P」であることを意味しています。
フレームごとの基準QP値 (in the case of the GH2, the entire frame).
フレーム内の各マクロブロックにおけるQPの最小値 ※ H.264コーデックにおける圧縮では、フレームの基準QPを基本として、そこから派生したオフセット値が各マクロブロック単位で使われるため、そこに最大値、最少値の幅が発生することになります。
フレーム内の各マクロブロックにおけるQPの最大値。
Max(最大QP)- Min(最少QP) QP値のレンジ(幅)を示す。 テストチャートの場合は、このレンジが高いと潜在的な問題があることを示しています。というのは、テストチャート(高精細なディティールが画面全体に広く分布している)のような幾何学的な規則性のあるものは、本来すべてのマクロブロックで一定のQP値(レンジは5以下)でエンコードされるはずだからです。
一方、実写映像では事情が異なり、絵柄によってはレンジが大きくなるケースは大いにあり得ます。しかし、大きすぎるレンジ(20かそれ以上)は一般的には良くありません。レンジが高い値を示すのは、しばしばIフレームにおいてブロックノイズが出ていることを表しています(そしてそれは続くPやBフレームにも伝搬します)。
フレームにおけるDCT係数として使われるもっとも効果的な最低QP値を示す。この値はQPと量子化マトリクスを結合することにより計算されます。4を下回るDC値は、8bitコーデックでは無駄に消費され、エンコード時間が増えるばかりで画質向上は期待できません。もしDC値が4を切った場合は、QP値の設定が低すぎるので、DC値が4を上回るようになるまでPTool設定でQP値を引き上げる(またはAQ値を下げる)のが望ましい。
1つのフレーム内のマクロブロックのうちスキップされた(エンコードされなかった)マクロブロックの数を示す。 低い値なら問題ありません。逆にテストチャートで高い値(50以上)を示す場合は問題があることを表しています。この現象の一般的な原因は、コーデックがその帯域幅を超過していることであり、その代償としてフレーム自体のエンコードがスキップ(=コマ落ち)し始めることにつながります。 実写映像では、通常「空」のような変化の少ない一様な場所で起こることが多い。この「スキップ」の値が高いことは、動きがカクカクしたり、ブロックノイズが出ることを示しています。
この欄に*(アスタリスク)マークがついていたら、コーデックがフォールバックモードに入ったことを意味します。フォールバックモードとは、コーデックが機器のクラッシュを避けるために一番低精細な量子化スケーリングテーブル(T4)を用いることです。フォールバックモードに入ることは希ですが、非常に高精細な被写体を速いシャッタースピードでパンしたときなどに起こります。
通常、JM-SP Decoderのログに表示されるデータは、ビデオのエンコード画質を評価し、それに応じてPToolでの設定パラメータを変更する用途にとって、必要にして充分なものです。「設定」メニューの「トレースファイル作成」機能では、より多くの情報を含むトレースファイルを生成することができます。でも、このトレースファイルはかなり暗号めいた難解なものであり(H264ヘッダsyntax)、生成にはかなり長い時間がかかります。