Personal View site logo

User Tools

Site Tools


streamparser-jap

StreamParser 2.7

StreamParserはパナソニックのGシリーズ一眼専用のビデオファイル分析ソフトです。

  • Windows専用
  • 対応ファイルはAVC(”.MTS”)のみ。

本ソフトを本格的に使いこなすには、MPEGやH.264といった各種規格に関する知識が必要ですが、たとえ少々意味がわからなくても、StreamParserの吐き出すログはパッチの開発者及びテスターにとって非常に役に立つものなので、ぜひ使ってみてください。

インストール

  1. 新しいバージョンのStreamParserをインストールする前に、コントロールパネルの「アンインストール機能」を使って旧バージョンをアンインストールします。コントロールパネル上では、StreamParserは「GH13 Stream Parser」と表示されます。
  2. インストール用の一時フォルダを準備します。置き場所はどこでも構いません。
  3. 「StreamParserInstall.zip」を解凍した中身を、作成した一時フォルダの中に置きます。
  4. 「Setup.exe」ファイルをダブルクリックして実行します。※.NET runtimeが必要です。お使いのコンピュータにすでに導入されていなければ、自動的にMicrosoftからインストール・プログラムがダウンロードされます。
  5. インストールが終わると、StreamParserが起動します。うまくインストールされたら、インストール用の一時フォルダは削除してかまいません。

StreamParser本体機能について

【分析対象ファイルの読み込み】

StreamParserにファイルを読み込んでスタートするには次の2通りの方法があります。 ※ StreamParserでAVCファイル(”***.MTS”)を開く前に、必ずコピーを取っておきましょう。

*「File」→「Open」:

 ビデオファイル全体を読み込んで分析する。

*「File」→「Quick Test」

 ビデオファイルの最初の10秒を読み込んで分析する。  (※デフォルトは10秒ですが「Configuration」→「Configure Quick Test」で読み込む尺を変更可能)

大きなファイルの場合、分析に長い時間を要します。もし特にファイル全体を分析する必要がなければ、「Quick Test」で開くことを推奨します。

【フレームモード】

StreamParserには、「フレームモード」と「タイムモード」という2つのモードがあります。

  • フレームモードでは、ストリームを個々のフレームに分割して分析します。

a70d0fa95e0289a1954cc86ac0f3b5.jpg

A. ストリームデータパネル

ここでは一連のビデオデータが個々のフレームに分割されます。

表1列目:GOPフレームフォーマットにおけるフレームナンバー

表3列目「Offset」:MTSファイルの該当フレームの開始アドレス

表4列目「Length」:そのフレームに含まれるデータ量

表5列目「Type」:フレームタイプ(I、P、B、又はA)

※ A(Audio)フレームは、ストリームフレームグラフ(H)のすぐ上の「Include Audio」チェックボックスがオンの場合にのみ表示されます。

※ 各列の見出し部分をクリックすると、該当項目の数値の昇順(降順)で表の並び替えが行われる。

B. 「選択」ボタン

フレームデータパネル(C)とストリームフレームグラフ(H)の表示を同期させるボタン。 ストリームデータパネル(A)の最初のフレームがグラフの最初のフレームになります。

C. フレームデータパネル

ストリームデータパネルで選んだフレームを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」横の()内の数値は選択されたフレームナンバーを示します。 各列の見出し部分をクリックすると、該当項目の数値の昇順(降順)で表の並び替えが行われる。

D. 「ファイルストリーム開始」ボタン

このボタンを押すことによって、「メディアプレーヤー」が起動します。メディアプレーヤーの詳細については下で説明します。

E. パケットデータ

フレームデータパネルで選択されたフレームの16進法データが表示されます。 表題の「Packet Data」横の()内の数値は、選択フレームの「Packet」値/「Abs Packet」値を示す。

F. 「選択」ボタン

Bの「選択」ボタンと近いですが、ストリームデータパネルで選択されたフレームがストリーム・フレームグラフの1列目としてセットされます。

G. スライダー

このスライダーを動かすことで、グラフに表示される列数(=フレーム数)の数を変更できます。グラフの拡大縮小用。

H. ストリームファイルグラフ

グラフ上部右の「Include」チェックボックスで「video」と「audio」のどちらがオンになっているかに応じて、選択されたストリームにおける、フレーム毎のサイズのデータがプロットされます。 グラフで表わされるフレームサイズの単位は「bytes」か「bits」かを選べるようになっています。

I. 「情報パネル拡大表示」ボタン

情報パネル(J)の内容を大きい別ウィンドウで表示する。

J. 情報パネル

ストリーム、選択されたフレームとパケットの情報を示します。

K. 「タイムモードに変更」ボタン

ストリームパーサーをタイムモードに変更する。

【タイムモード】

  • ストリームを時間単位で分割して分析します。

※ ウィンドウ構成はフレームモードとほぼ同じなので、相違点のみ解説します。

44350d5dcaf109a4002da6720e73e6.jpg

A. フレームデータパネル

タイムモードでは「フレーム」は実際の時間単位(一般的に0.092 – 0.096秒)で分割された時間を表す。このような時間分割においてはタイプの異なった複数のパケットが含まれます(ビデオ、音声、タイミング、パラメータセットetc)。 フレームモードと違い、タイムモードはすべてのパケットタイプを示します。単純にビデオまたは音声だけではありません。

B. ストリームフレームグラフ

各時間単にに含まれるデータ量を示します。

C. 「スムージング」ボタン

グラフのビットレートライン(線グラフ)を平滑化します。

【ファイルストリーム再生機能】

フレームモードで「ファイルストリーム開始」ボタン(D)がクリックされると、フレームデータパネル内に「Windowsメディアプレーヤー」が表示されます。 このプレーヤーは別ウィンドウに分離して表示することもできます(detachボタン)。ストリームが再生されると、それに応じてストリーム・フレーム・グラフのマーカーが付随して動くようになっています。 【情報パネル】

“Show Big Information Panel”ボタンを押すと情報パネルが開きます。ビットレート、各タイプのフレームサイズの最小、最大、平均の確認に便利です。

b3dca59ccb0a7a7bdc3b71e4a8ebb5.jpg

【 StreamParserスナップショット作成機能 】

フォーラム等に分析結果を投稿するための情報を一覧にまとめた簡易フォーム(=スナップショット)を作成する機能もあります。 「File」→「Generate Snapshot Report」 このスナップショットはイメージファイルとして保存することができます。StreamParserによる検証データは他のテスターにとってとても有用なので、使用したセッティング名と合わせてフォーラムに投稿すると喜ばれます。

4bd9ba0f7eff3df3af668ba1a17e79.jpg Note: Thumbnail is only shown when Stream Player is opened and not detached.

09ae3b7aeea2eca97c1f489d7bbbbc.jpg

【その他の機能】

その他のメニューオプションでも色々なことができます。

  • ItemMTSファイルの整合性チェック機能(「Tools」→「Check Stream File」)
  • カメラ機種選択(「Configuration」→「Camera」)
  • コンピューターの性能が遅い場合の対応(「Configuration」→「Slow Computer」)
  • GH1のハッキングによる1080p25読み取り機能(「Configure」→「Interpret GH1 1080i60 as Hacked 1080p25」)

JM-SP Decoderについて

JM-SP Decoderは、AVCファイル(.MTS)のビデオ部分のみ(エレメンタリーストリームファイル.264)を取り出し、エンコードされたビデオを各パラメータによって詳細に画質分析できるツールです。

【設定】

JM-SP Decoderは「Configuration」→「Configure JM-SP Decoder」メニューによって設定変更できます。

  • 「デコードフレーム数」. デフォルトは100。デコードするフレーム数を決定します。この数値を「0」に設定すると、全てのフレームがデコードされますが、長いクリップだと時間がかかります。
  • 「トレースファイル作成」. 大量のH.264ヘッダデータを示すトレースファイル作成機能。通常はチェックする必要はありません。
  • 「32bitデコーダ強制」. StreamParserには、32bit/64bit用の2つのJM-SP Decoderが搭載されています。このオプションにチェックを入れると、Win64bit環境においても32bit用のデーコーダーを使うようになります。

【使用方法】

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”).

c055211914689482f2470b13a5fd8b.jpg

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」.

フレームごとの基準QP値 (in the case of the GH2, the entire frame).

「Min」(最少QP値).

フレーム内の各マクロブロックにおけるQPの最小値 ※ H.264コーデックにおける圧縮では、フレームの基準QPを基本として、そこから派生したオフセット値が各マクロブロック単位で使われるため、そこに最大値、最少値の幅が発生することになります。

「Max」(最大QP値).

フレーム内の各マクロブロックにおけるQPの最大値。

「Range」(QPの幅).

Max(最大QP)- Min(最少QP) QP値のレンジ(幅)を示す。 テストチャートの場合は、このレンジが高いと潜在的な問題があることを示しています。というのは、テストチャート(高精細なディティールが画面全体に広く分布している)のような幾何学的な規則性のあるものは、本来すべてのマクロブロックで一定のQP値(レンジは5以下)でエンコードされるはずだからです。

一方、実写映像では事情が異なり、絵柄によってはレンジが大きくなるケースは大いにあり得ます。しかし、大きすぎるレンジ(20かそれ以上)は一般的には良くありません。レンジが高い値を示すのは、しばしばIフレームにおいてブロックノイズが出ていることを表しています(そしてそれは続くPやBフレームにも伝搬します)。

「DC」.

フレームにおけるDCT係数として使われるもっとも効果的な最低QP値を示す。この値はQPと量子化マトリクスを結合することにより計算されます。4を下回るDC値は、8bitコーデックでは無駄に消費され、エンコード時間が増えるばかりで画質向上は期待できません。もしDC値が4を切った場合は、QP値の設定が低すぎるので、DC値が4を上回るようになるまでPTool設定でQP値を引き上げる(またはAQ値を下げる)のが望ましい。

「スキップ」.

1つのフレーム内のマクロブロックのうちスキップされた(エンコードされなかった)マクロブロックの数を示す。 低い値なら問題ありません。逆にテストチャートで高い値(50以上)を示す場合は問題があることを表しています。この現象の一般的な原因は、コーデックがその帯域幅を超過していることであり、その代償としてフレーム自体のエンコードがスキップ(=コマ落ち)し始めることにつながります。 実写映像では、通常「空」のような変化の少ない一様な場所で起こることが多い。この「スキップ」の値が高いことは、動きがカクカクしたり、ブロックノイズが出ることを示しています。

「QST-High」.

この欄に*(アスタリスク)マークがついていたら、コーデックがフォールバックモードに入ったことを意味します。フォールバックモードとは、コーデックが機器のクラッシュを避けるために一番低精細な量子化スケーリングテーブル(T4)を用いることです。フォールバックモードに入ることは希ですが、非常に高精細な被写体を速いシャッタースピードでパンしたときなどに起こります。

通常、JM-SP Decoderのログに表示されるデータは、ビデオのエンコード画質を評価し、それに応じてPToolでの設定パラメータを変更する用途にとって、必要にして充分なものです。「設定」メニューの「トレースファイル作成」機能では、より多くの情報を含むトレースファイルを生成することができます。でも、このトレースファイルはかなり暗号めいた難解なものであり(H264ヘッダsyntax)、生成にはかなり長い時間がかかります。

streamparser-jap.txt · Last modified: 2012/05/06 13:10 by bkmcwd