HDe 1.06 * Filter - Region 映像の空間的な矩形に対して、ひずみを制御することができます。 使用法: - Filter の [Region...] から呼び出します。 - 矩形の定義画面が表示されます。 この状態で、Gray になっていないボタン、機能 (Play など) は使用することが できます。 - 映像の部分で、マウスの左ボタンを押して始点を指定して矩形を選択します。 現在の領域は黄色の四角で表示されます。 - 選択した領域に対して値を設定します。 * Fill が選択されている場合は、値を直接指定します。 値は -24...+24 で指定します。 負の値を設定すると、ひずみを下げることの指定です。 -6 で 1/2, -12 で 1/4, -24 では 1/16 にひずみを下げます。 正の値を設定すると、ひずみを上げることの指定です。 +6 で x2, +12 で x4, +24 では x16 にひずみを上げます。 * Add が選択されている場合は、設定値を変更します。 値が 0 でない部分に対して、値を増減します。 - 現在の設定値が負の場合は緑色で、正の場合は赤色で表示されます。 表示が見にくい場合、Dark, Bright などを使用して下さい。 - 現在の指定領域は Current region - Fix を押すか、新しい矩形を選択することで 確定されます。また、Cancel で設定を中断します。  制限事項など: - 矩形は全部で 64 定義できます。 過去の指定を含んで大きく領域を設定するなど、表示される矩形の数が減るような 場合は、隠れた領域の設定の除去が行われます。 64 回しか操作できないということではありません。 - 設定は 16x16 (Macroblock) 単位ですが、Interlaced では 16x32 (2 Macroblock) 単位で値は適用されます。 - 設定した矩形は指定された時間範囲で固定です。 映像の動きにあわせて設定がトラックされる機能はサポートされません。  - 指定した値は必ずしもそのとおりに適用されないことがあります。 AVC では連続するマクロブロックは 1/4, x4 以上ひずみを変えられないなどの 制限があるためです。 エンコード時に、可能な範囲に制限されます。 - 「ある部分の画質をあげると、他の部分の画質が落ちる」のは当然の振る舞い です。ビットレートがあがったわけではないので、ある部分にビットを割いて、 画質を向上させた場合、他の部分はビットは削られ、結果的に画質はやや低下 します。 * CINEMA CRAFT (R) Video Playback Kit for BlackMagic Design (有償オプション) CINEMA CRAFT (R) Video Playback Kit for BlackMagic Design (以下 VPK) は BlackMagic Design 社のカードを使用して、HDe の PC 画面に表示される映像を HDMI/HD SDI 経由で外部モニタに表示するオプションです。 - BlackMagic Design 社のカードは、必ず VPK 同梱のカードを使用して下さい。 その他のカードはサポート対象外となります。予めご了承下さい。 - インストールは HDe 本体、VPK の順に行って下さい。 VPK は HDe のインストールをチェックします。 あとは、PC 画面に表示されている映像がそのまま、BlackMagic を通じて外部に 出力されます。 外部出力される映像を以下 Ext. と表記します。 - HDe 1.06 は VPK をサポートする最初のバージョンで、VPK 1.00 をサポート しますが、今後、HDe と VPK は HDe だけ、あるいは VPK だけの バージョン・アップや同時に両方のバージョン・アップが必要になる場合が 考えられます。HDe のバージョンを変更する場合、対応する VPK のバージョン には注意して下さい。 - BlackMagic や PC display のドライバは必ず、弊社指定のバージョンを使用して 下さい。 弊社指定と異なったバージョンのドライバでの不具合は、サポート対象外と なります。予めご了承下さい。 - HDe で Contrast, Brightness, Blue only などを設定すると、Ext. も同じ内容が 表示されます。 ただし、PC で拡大縮小を行って表示しても Ext. はその影響を受けず、常に 1:1 で表示されます。 - HDe の起動時に Ext. モニタの電源が入っていない場合、後で Ext. モニタの 電源を入れても、Ext. に正常に表示されない場合があります。 HDe アプリケーションの起動から、終了まで、 Ext. モニタの電源の入り切りや ケーブルの差し替えなどを行うことは避けて下さい。 - HD-SDI/HDMI の両方を接続する場合、2つのモニタの周波数の違いから、表示が 正常に行われない場合があります。 - 何らかの事情で、HDe のアプリケーションが異常終了した場合、以降、Ext. の 表示が正常でなくなる場合があります。 このような場合はできるだけ、HDe の PC を Reboot して下さい。 - HDMI に接続される LCD などでは、LCD 側に様々な表示機能があり、 特に Interlaced, Progressive 変換にまつわる部分で再生が正常に行われない 場合が想定されます。 例えば、PC では Interlaced に見えているが、Ext. では、Progressive に見える ことや、スロー再生や、連続してコマ送りしたときにギクシャクした感じに見える などです。 このような場合は、Ext. の LCD モニタの機能の調整で、振る舞いを改善できる 場合があるかもしれません。 - HDe 側で以下の設定をすることができます。 Option - General から呼び出します。 * Use BlackMagic if installed チェックを外すと Ext. に表示されなくなります。 * Convert 24p to 60i    通常、23.976p, 24p では、Ext. もその信号が出力されます。 Ext. モニタがこれらの信号をサポートしない場合、 2:3 pulldown して 59.94i, 60i として出力することができます。 この場合、Ext. モニタの種類によって、PC と Ext. でスチルの 状態が異なることがあるかもしれません。 * Synchronize PC and SDI/HDMI timing PC と外部モニタは同期していません。 このため、表示更新のタイミングは一致しません。 24p などのモードではさほど目立ちませんが、 60i 信号を出力する場合、PC と Ext. のタイミングのずれから どちらかの表示がギクシャクする場合があります。 どちらの表示を優先的に扱うかを制御する 3 つの選択肢が 用意されています。 - PC - Allow picture stuttering on ext. monitor PC モニタを優先します。 Ext. モニタでの表示がギクシャクすることを許容します。 - Ext - Allow picture tearing on PC monitor Ext. モニタを優先します。 PC モニタの垂直同期を無視します。 Ext. モニタの表示はよりスムーズですが、 PC モニタではちらつきが発生します。 - Skip - Allow picture skip on PC monitor Ext. モニタを優先します。 Ext. モニタの表示はよりスムーズですが、 PC モニタでは映像が飛ばされる場合があります。 Ext または Skip を選択しても、HDD からの読み込みの速度などに 起因して外部モニタの表示がスムーズではない場合がありえます。 特に Quicktime V210 などでは、映像は 4:2:2 10 bit であり、 4:2:0 8 bit のデコード・ファイルなどに比較して、 時間あたりのデータ量が多く、読み込みが遅れ、再生がスムーズでは なくなる場合があります。ご了承下さい。 ------------------------------------------------------------------------------- HDe 1.04 * NTSC 720x480, PAL 720x576 のサポート HDe Ver.1.04 から、NTSC 720x480, PAL 720x576 をエンコードできます。 これらの解像度を以下 SD と表現し、1920x1080 を HD と表現します。 下記に注意して下さい。 - Blu-ray の SD では Primary video と Secondary video で規約上 サポート範囲に違いがあります。 (詳細は Blu-ray disc のドキュメントを参照して下さい。) * Bitrate Primary video では 40 M bps が最大、 Secondary video では 8 M bps が最大です。 * Primary video, Secondary video の組み合わせ Primary/Secondary の組み合わせを下記に整理しておきます。 Primary video 組み合わせ可能 Secondary video 1920x1080 59.94i 720x480 59.94i, 1920x1080 59.94i 1920x1080 50i 720x576 50i, 1920x1080 50i 1920x1080 23.976p 720x480 23.976p, 1920x1080 23.976p 1920x1080 24p 720x480 24p, 1920x1080 24p 720x480 59.94i 720x480 59.94i 720x576 50i 720x576 50i Note: 720x480 24p, 720x480 23.976p, 720x480 29.97p, 720x576 25p は Secondary video にありますが、Primary video には出来ません。 これら、SD での Progressive format は Secondary video でだけで 使用できます。 - Blu-ray の SD では、GOP まわりの制約がやや複雑です。 Bitrate max が、(Bitrate avg ではありません) 15 M bps 未満では約 2 秒, 15 M bps 以上では約 1 秒が、規約上の GOP length の最大です。 既存の Video information file を参照して、 後で Bitrate max を変更して Multipass encode する場合、 GOP 構造は Video information file 作成時に従うために、 以下のような動作になります。 * 最初に、例えば Bitrate max = 8 Mbps でエンコード (a) その後、例えば Bitrate max = 18 Mbps でエンコード (b) ===> エンコード時にエラーが生じる場合があります。 (a) のとき GOP length は約 2 秒まで許容されていますが (b) のとき GOP length は約 1 秒で制限されます。 * 最初に、例えば Bitrate max = 18 Mbps でエンコード (a) その後、例えば Bitrate max = 8 Mbps でエンコード (b) ===> エンコード可能ですが GOP length は約 1 秒で制限されます。 - NTSC ではソース・ファイルは 720x486 (Bottom first) であることが 一般的ですが、出力ストリームは 720x480 (Top first) になります。 486 lines のうち、どの部分をエンコード対象とするかを、 [File specification] の [Offset lines] で設定します。 初期値は 5 で 0...485 line のうち、5...484 line を対象にします。 [Option] から初期値を変更することもできます。 Blu-ray disc の規約では、5 が規定されています。 5 以外の値を使用する場合、生成ストリームは Blu-ray 規約上に 合致しますが、ストリーム再生時の表示位置が 720x486 とは異なる ことに注意して下さい。 - NTSC で Planar 420 file (Filter, Decode 出力)は 720x480 で 行っています。720x486 ではありません。 - Blu-ray の HD では、Multiple slices が強制されますが、 SD では Single slice でもストリームを作成できます。 ただし、Single slice では実行が遅くなります。 - Accom HVD, HVU, HVL, Planar 420 file はファイルヘッダを持たず、 HDe では解像度判別をファイルサイズから行います。 ただし、例えば、HD と PAL のどちらでも割り切れるような ファイルサイズの場合、解像度が特定できず、明示的に指定を行う 必要があります。このような場合、指定を促すような表示が なされますのでそれに従って設定して下さい。 ------------------------------------------------------------------------------- HDe 1.03 * 複数のソース・ファイルを連結してのエンコード 複数のソース・ファイルからひとつのファイルにエンコードが出来ます。 制約 以下のような制約があります。 - 出力ファイルごとに設定出来るソース・ファイルは 32 ファイルです。 - 出力ファイルごとに設定出来るソース・ファイルのフォーマットは 完全に同じである必要があります。 - AVI, QuickTime V210 などを混在できません。 - Width, Height, Pixel あたりのビット数, Framerate などは一致する必要があります。 特に AVI では、10 bit, 8 bit は混在できません。 使用法 - Main window から Add などで File specification window を開きます。 - File specification window で、Add を使ってソース・ファイルを 設定します。追加されたファイルはリストに表示されます。  Note: Add では、複数ファイルを同時に選択できます。 - 必要に応じて、ソース・ファイル中で参照エリアを設定できます。 この機能を Trim と呼びます。 それぞれのファイルをリストから選択し、 左側の Origin (Org.), Trim (in), Trim (out), Duration (Dur.) を 設定します。右側は、そのファイルの参照部分が連結された状態での 先頭からの位置を表示します。 Trim の Timecode (TC) は、この設定のためだけに参照されます。 他では参照されません。 右側の TC は、Control window (File specification window で Ok を押したとき表示される、映像などが表示される Window) で 使用されます。 - Encode (Enc.) in, out など Control window で表示される file 番号は、最初のソースファイルの Trm. in から数えた番号です。 例: File A (1000 frames, Trm. in 200, Trm. dur 100 frames) File B (1000 frames, Trm. in 300, Trm. dur 200 frames) File C (1000 frames, Trm. in 400, Trm. dur 300 frames) 以上の設定で、Control window でシーク可能なエリアは 600 frames です。内訳は File A (#200...#299), File B (#300...#499), File C (#400...#699) です。 Control window で file# 0 は A(#200) を指します。 file# 250 は B(#450) を指します。 注意 - 最初のソース・ファイルにおいて、あとから、Trim. in を変更すると、 Enc. in, Enc. out, Segment (Chapter) など Control window での 設定がずれてしまいます。 これらの設定は最初のソースファイルの Trm. in から数えた番号で あるからです。 - ecl は、1.03 以降と 1.02 以前では限定的な互換性があります。 1.02 以前で保存された .ecl は 1.03 以降で読むことができます。 1.03 以降で保存された .ecl は 1.02 以前で読むことができますが、 以下の制約があります。 - 複数のソース・ファイルを指定しても最初のソース・ファイル以外は 無視されます。 - Trim. in, out は全て無視されます。 特に最初のソースファイルで、Trim. in を設定すると、 Enc. in, Enc. out, Segment などの設定がずれてしまいます。 1.02 以前では Trim. in の機能がないからです。 - いくつかの種類のキャプチャ、あるいは編集システムなどから、 Quicktime ファイルや AVI ファイルを出力する場合、 指定より長めのデータがファイルに収録される場合があります。 この場合、ヘッダに、時間情報 (Duration) が記述されています。 Trim. out の初期値はこの時間から算出され、この場合は Trim. out の初期値はソース・ファイルに物理的に含まれる最後の フレームより手前に設定されます。 また QuickTime ファイルの場合,ヘッダーに書かれている Duration と フレームレートの積が整数にならないことがあるため, Trim. out の初期値と Duration との間に 1フレーム未満の誤差が 発生する場合があります。 特に複数のファイルを連結して扱う場合は注意が必要です。 * Segment re-encoding 機能 Segment (Closed GOP) の単位で、部分的にエンコードを行い、 ファイルを更新することが出来ます。 この機能を Segment re-encoding と呼びます。 Segment encoding は、Segment 設定で設定した位置だけではなく、 エンコーダがシーンチェンジ・ポイントに自動的に I フレームを挿入し、 Segment 分割した位置でも行うことが出来ます。 Segment re-encoding の制約 Segment re-encoding では以下のような制約があります。 - CBR ストリームには適用できません。 - Segment re-encoding 機能を用いて下記のようなことは行うことが  出来ません。 - 対象となる絵柄の差し替え。 - 新たな Segment 位置の挿入。 - 既存の Segment 位置の削除。 - 全体のビットレート設定での最大ビットレートの指定は、 対象となる既存のストリームと一致させることが必要です。  よって、最初にエンコードされた時の最大ビットレートの指定より 高い最大ビットレートを指定してエンコードすることはできません。 - 対象となる既存のストリームの状態によっては  H.264/AVC 規約の CPB (Coded Picture Buffer:MPEG での VBV (Video Buffer Verifier) に類似)の制約を遵守するため、 エンコード範囲を拡張する場合があります。 この場合の拡張は Segment 単位で行なわれます。 Segment re-encoding の使用法 - エンコード範囲を設定します。(画面では Part と表記) - エンコード範囲の平均、最小、最大ビットレート、V/C を設定します。 - Encode ボタンを押すとエンコードが開始されます。 - 指定範囲のエンコード終了後、ファイルの更新が行われます。 エンコードを中断した場合、またエンコード中にエラーが発生した 時にはファイルの更新は行われません。 ファイルの更新は、H.264/AVC ファイル及び Video information file、 デコード・ファイル、フィルタ・ファイルの順で行われます。 ここで下記を注意して下さい。 - H.264/AVC ファイル及び Video information file の更新は、 既存のファイルを直接書き換えるのではなく、更新されたファイルを 作成後に、既存のファイルを置き換える形での動作になります。 これらのファイルの更新中に中断したした場合、既存のファイルには 影響を与えません。 - デコード・ファイル及び、フィルタ・ファイルは既存のファイルを 直接更新します。これらのファイルの更新中に中断したした場合、 既存のファイルは部分的に更新されます。 中断した場合、デコード・ファイル及びフィルタ・ファイルは エンコード時の結果と一致しません。 また、これらのファイルの更新は必ずしもフレーム単位で行われません。 中断した場合、ファイルは一枚の絵柄の途中まで更新されていると 考えて下さい。 Segment re-encoding の使用上の注意、またはヒント - Segment re-encoding は既存のファイルを部分的に更新する機能です。  既存のファイルはエンコード時に設定した平均ビットレートを満たす ように生成されています。Segment re-encoding 機能を用いて、 部分的に平均ビットレートを既存のファイルと変えてエンコードすると、 全体のファイルサイズ(全体の平均ビットレート)は変化します。 また、それが自然な使い方です。 Segment re-encoding で部分的に平均ビットレートを上げる場合、 全体のファイルサイズは増加します。 後で Segment re-encoding を使用することを考えているなら、 最初にある程度のマージンを持って、平均ビットレートを設定する ことをお勧めします。 * フィルタの設定 コントロール・ウインドウから Filter... を押して表示される画面を Filter window と呼びます。 Filter の概要 HDe は下記の流れでフィルタ処理を実行します。 {} 内にはその処理が終わった時点での内部データフォーマットを示します。 (a) 全てのソース { 4:2:2 8/10 bits or 4:2:0 8 bits } (b) 4:4:4 10 bits に拡張 { 4:4:4 10 bits } (c) Texture, Spike { 4:4:4 10 bits } (d) 水平方向 の Linear filter { 4:2:2 12 bits } (e) 垂直方向 の Linear filter { 4:2:0 14 bits } (f) Dither ノイズ加算 { 4:2:0 14 bits } (g) 4:2:0 8 bits への変換 { 4:2:0 8 bits } (h) エンコーダ・コアへの入力 (*) Q.characteristics, Grain の設定はエンコード処理中に適用されます。 Threshold の設定 フィルタ処理では、Threshold (以下 TH) を設定する部分があります。 TH では、フィルタ処理前、処理後を比較し、その差が僅かであることを 検出します。TH は Y, Cb, Cr をそれぞれ別個に指定し、それぞれを AND として適用します。 例えば、Y での差が TH 以下であっても、Cb や Cr の差が大きい場合は TH 以下であるとは検出されません。 フィルタの各段階で、10 bit, 14 bit などのデータがあり、 それぞれの箇所で、設定値の範囲が異なります。注意して下さい。 Q. characteristics H.264/AVC では DCT を適応した係数を荒く表現することで、 情報量を削減し、圧縮率のコントロールをします。 この行為を Quantization と呼びます。 Quantization は発生ビット量を制御する目的で 16x16 pixel ごとに エンコーダによって制御されます。 映像の全ての部分で同じ強度の Quantaization を適用することは、 視覚的には必ずしも均一な結果をもたらしません。 ここでの設定で、Quantization の特性を設定し画質を制御します。 設定値の範囲は 0 から 200 までです。 値が小さいとき、全体に同じような Quantization を適用します。 値が大きいとき、下記のような部分をより優先し多めにビットを 割り振ります。 * 空間的に単純でフラットな絵柄(空など) * 動きが少ない、あるいは動きが単純で変形を伴わない部分。 * 暗部 最適な値は映像やビットレートによって大きく異なりますが、 16 から 64 程度を目安に設定してください。 映像の複雑度に対して、 相対的に高いビットレートのとき(全体にひずみが少ない場合)は 大きめの値を設定し、 相対的に低いビットレートのとき(全体にひずみが多い場合)は 小さめの値を設定することで、視覚的の歪が目立ちにくい結果が 得られる場合が一般的です。 Note: Q. characteristics の設定はエンコード時に作用します。 利便性のためにこの画面に配置していますが、 フィルタ出力ファイルには影響を与えません。 Texture または Spike 圧縮に伴うノイズを低減するため、後述する Linear フィルタを用いて LPF (Low-pass filter : High-cut filter) を適用すると、 映像がぼやけた感じになります。 これは、映像のエッジ成分に含まれる高域成分を Linear フィルタが 除去するためです。 Texture または Spike は映像に含まれる粒状の成分を検出し、 これを低減または除去する働きをもちます。 エッジ部分には作用しないため、エッジのシャープさを保ちながら、 効果的に圧縮に伴うノイズを低減できます。 Texture または Spike: Type Type の指定は Texture, Spike に共通です。 Type は 1..9 が設定できます。 Type が小さい場合、小さい粒子だけを修正の対象とします。 Type が大きい場合、より大きな粒子も修正の対象とします。 Texture その他 Texture では、TH を設定します。 元画像と内部的に生成されたフィルタ適用後の映像とを比較して、 TH 以下の部分にだけ作用します。 TH は 10 bit 映像に対して適用され、値の範囲は 0..1023 です。 内部的に生成されたフィルタ適用後の映像は、元映像とブレンドして 適用されます。このため、Texture は粒状の成分を "低減" させる ("除去" ではない)動作になります。 この性質から、Linear filter と異なり、同じ設定を使用しても、 Texture を繰り返して適用すると作用は強くなります。 Texure は 3 回適用することができます。 Spike その他 Texture では TH により制限を設けているため、 Spike 状のノイズ(ごま塩雑音:Salt and pepper noise) を 除去できません。Spike は、このようなノイズを除去する目的で 設計されています。 Spike では除去しようとする粒状の成分の色相が概ね一致している場合に、 内部的に生成されたフィルタ適用後の映像を適用します。 その結果、Spike 状のノイズを除去する性質があります。 Texture または Spike: 詳細な技術説明 下記の内容はやや専門的な内容を含みます。 HDe を使う上で必ずしも下記の理解が必要ではありません。 Texture または Spike はフィルタは、重みつきメディアンに制約を 設けたものです。 粒子の検出は重みつきメディアンフィルタによってなされます。 メディアンフィルタとは入力をその周囲を含めてソートして、 その中央値を出力とするフィルタです。 HDe では着目画素とその 8 近傍(上下、左右、斜め)をあわせて、 9 画素をメディアンフィルタへの入力とします。 ここで、Type はメディアンフィルタの重み付けを設定します。 Type = 9 は、最も強い効果を持ち、これは下記の重みを持ちます。 1 1 1 1 1 1 1 1 1 全てが同じ重さ Type = 1 は、最も弱い効果を持ち、これは下記の重みを持ちます。 1 1 1 1 7 1 1 1 1 着目画素は周囲の 7 倍の重さ 例えば、ソースが下記の場合、 2 8 5 3 7 6 2 4 4 Type = 9 での変換結果は、これらを並べ替えた結果 { 2,2,3,4,4,5,6,7,8 } の中央値 4 を出力します。 Type = 1 での変換結果は、これらを並べ替えた結果 { 2,2,3,4,4,5,6,7,7,7,7,7,7,7,8 } の中央値 7 となります。 着目画素値 7 が 7 回繰り返されていることに注意して下さい。 これが重みの意味です。 Type = 1 では、着目画素の重みが 7 であり、近傍は 8 であることから 着目画素の 8 近傍の全てが、対象となるピクセルより大きい値を持つか、 または全て小さい値を持つ場合だけを修正することに注意して下さい。 Type = 9 では細線などが容易に影響を受けることにも注意して下さい。 特に、Spike では作用の強い値の大きな Type はあまり適しません。 Type = 2...8 のフィルタはそれぞれ、Type 1 と Type 9 の間の重みを 持ちます。例えば、Type = 5 は下記の重みを持ちます。 1 3 1 3 5 3 1 3 1 Dither, Error diffusion Dither, Error diffusion は、ソース・ファイルを 4:2:0 8 ビットに 変換する場合に適用されます。 Dither の設定 変換前に映像にランダム・ノイズ(Dither信号)を付加することにより、 bit 数変換に伴う誤差を分散して目立たなくします。 Dither はフェードやグラデーション処理のされている素材で、 バンディング(コンタリング・ノイズ)が目立つ場合に効果的です。 Dither を適用する前の映像は内部的に 14 bit 表現されており、 値は Y, Cb, Cr それぞれに対して、14 bit 単位で設定します。 値が 63 以下は 8 bit で 1 未満を意味し、 14 => 8 bit での丸めに影響は限定されます。 値が 64 以上は、8 bit で 1 以上を意味し、 エンコーダ・コアへの入力である 4:2:0 8 ビットに直接的な 影響を及ぼします。 値が 64 以上の大きな値を用いると、エンコードに起因するバンディングを なだらかにする効果がありますが、それが発生していないような部分では 付加されたノイズによって画質が劣化します。 大きな値を使用する場合はデコード映像を確認しながら行って下さい。 Error diffusion 誤差拡散法を使って 4:2:0 8 bit へ変換します。 誤差拡散法は一種の適応丸め処理であり、適応 Dither とも考えられます。 グラデーションでマッハバンドが見られるような場合はこれを低減する 効果があります。主に、CG, アニメーションなどに向いています。 自然映像では歪が増加する場合もあります。 ソースの性質によって使い分けて下さい。 Dither と誤差拡散は同じような効果を持ちます。 64 以上の大きな値を指定した場合の Dither と異なり、 Error diffusion はエンコーダ・コアへの入力である 4:2:0 8 ビットに 直接的な影響を及ぼさず、丸め処理にのみ影響を与えます。 より強い効果を求めるのであれば、これらを併用することも可能です。 Grain エンコード処理により、振幅の小さなグレイン成分が失われ、 映像の持っている雰囲気が変わってしまうことがあります。 Grain は振幅の小さなグレイン成分を内部で適応的に保障し、 グレインが残りやすいようにエンコードをする機能です。 Note: Grain の設定はエンコード時に作用します。 利便性のためにこの画面に配置していますが、 フィルタ出力ファイルには影響を与えません。 Grain の処理 Grain は下記のような流れで処理されます。 (a) 入力ファイル (b) Texture, Linear filter などのフィルタ処理 (c) エンコーダの予定した QP 値 - Strength で仮にエンコード, デコード (d) (b) の結果から (c) を引いた差分が、TH 以下の場合、 (b) の結果に加算 (e) エンコーダの予定した QP 値でエンコード * QP 値は Quantize の度合いを意味します。 全体的な考え方は、エンコードで失われるグレイン部分を保障して、 再エンコードし、グレイン部分の再現性をよくするという考え方です。 グレイン成分以外の部分では圧縮に伴う歪はより大きくなります。 Grain - Strength, TH Strength 仮エンコードする時の QP の差を設定します。 H.264/AVC の QP は対数表現であり、6 を指定すると 半分の意味になります。 dB で指定していると思っても良いでしょう。 0 を指定すると最大の効果になります。 通常、3..12 程度を指定します。 TH グレインの判別に用います。 TH は 8 bit 映像に対して適用され、値の範囲は 0..255 です。 Pixel と Black level Pixel フィルタの出力で、Pixel 値に制約をかけることが出来ます。 値は Y, Cb, Cr それぞれに対して、8 bit で指定します。 min=0, max=255 は値に制限がないことを示します。 Black level "黒" の近辺は映像に荒れが多い場合があります。 Y 信号に対し、指定レベル未満の値を、指定レベルに 置き換えることが出来ます。 Black level L.T. で変換対象となる値の最大値を指定します。 Black level to で置き換える値を指定します。 それぞれ、0.25 単位で設定します。 初期設定では Black level L.T. = 16, Black level to = 16 に なっています。値 16 未満を正確に再現するには、それぞれに 0 を設定して下さい。 Linear フィルタ Linear フィルタは低域フィルタ(Low-pass filter - 以下 LPF) と、 高域強調フィルタ(High-gain filter - 以下 HGF) で構成されます。 LPF は設定周波数よりも低い帯域を通過させ、それ以上の高域を減衰 させる働きがあります。 HGF は設定周波数よりも低い帯域には影響を与えず、それ以上の高域を 増強させる働きがあります。 LPF を強くかけると映像がぼやけた感じになります。 HGF を強くかけると映像はエッジが強調されギラギラした感じになります。 Linear フィルタの設定 Linear フィルタは Y, Cb, Cr, 水平,垂直のぞれぞれで計 6 種ありますが、 設定は全て同じです。 Freq. 周波数を設定します。1..100 の値で設定します。 小さい値を設定するとより低域を指定したことになります。 Gain=100 の場合に LPF では - 6dB (0.5 倍) HGF では + 6dB (2.0 倍)になる周波数の値が設定されます。 Att. LPF ではフィルタの応答には、通過域、遷移域、遮断域の それぞれが含まれます。 Att. は遮断域で保証される減衰量を dB で設定します。 値 40 は 2^(40/6) = 101.6 dB をあらわし、 遮断域でその周波数成分が 1/100 程度になることを意味します。 高周波成分を充分に遮断するにはこの程度の値は必要です。 また、Att. を小さくすると遷移域の傾きは急峻になります。 Att. を小さくすると遷移域の傾きはなだらかになります。 Gain 通常、例えば LPF では高域を遮断するように作用します。 Gain を下げることで、これを低減するような働きに変化させる ことが出来ます。また、LPF と、HGF をともに使用すると、 高域では互いに打ち消しあうような作用になりますが、 LPF の Gain をあげることで、HGF の働きをより強く打ち消し、 中間の周波数は強調するが、高域は落とすような設定ができます。 Taps フィルタの係数長を設定します。 値は 0..15 で設定し、これはフィルタの片側の長さです。 Y に対しては、奇数タップのフィルタが適用されます。 値 8 は 17 タップのフィルタを適用します。 Cb, Cr に対しては偶数タップのフィルタが適用され、 値 8 は 16 タップのフィルタを適用します。 Taps は Att. に似た働きがあります。 Taps を大きくすると遷移域の傾きは急峻になります。 Taps を小さくすると遷移域の傾きはなだらかになります。 フィルタの設定のヒント - Linear は LPF を使用して、圧縮によるひずみを低減する使い方が 最も一般的です。圧縮によるひずみも、LPF も原画と異なるという 意味では、共にひずみですが、圧縮によるひずみは時間的、空間的に 強い局所性を持ち、視覚的に目に付きやすい性質があります。 LPF の使用は、自然なぼけとして、視覚的に目立ちにくいように ひずみを転化させる働きがあります。 - Linear では高周波を効果的に削減し、低い周波数に影響を与えない 設定が理想的といえます。この意味で、遷移域が急峻な設定が 望ましいといえます。遷移域が穏やかな設定は、映像がぼけやすい からです。しかしながら、テロップなど文字部分、CG などでは ステップ状のコントラストの強いエッジがあり、急峻なフィルタは この部分で強いリンギングが生じます。 このため、急峻なフィルタ設定はこれらの映像には向きません。 フィルタの遷移域の傾きを設定する働きがあるのは、Att. と Taps で、 これらは似た働きがあります。 特に Taps はリンギングに対してより直感的な指定です。 リンギングはエッジをまたいで左右または上下の画素を混合させた 結果発生するので、リンギングの生じる幅は常に Taps 以下になります。 - Texture は、細かく振幅の浅い凹凸だけを軽減します。 視覚的に目立ちにくい成分だけを軽減し、映像を簡単化することで、 圧縮によるひずみを低減します。 Texture はエッジには作用せず、また、リンギングは生じません。 - LPF, Texture はグレイン成分を削減する働きがあります。 HGF, Grain はグレイン成分を強調する働きがあります。 これらの 4 種は互いに相関があり複雑な感じがしますが、 下記のように考えて下さい。 LPF/HGF を使ってグレイン成分を制御することは適切ではありません。 これらには選択性がないので、エッジがぼける、強調される、 リンギングが発生するなどの副作用があります。 本質的に必要のない非常に細かなグレイン成分は Texture を使って 軽減します。映像が簡単化され、圧縮によるひずみを低減します。 Grain はフィルタ結果を目標とし、エンコードの特性を変化させます。 Texture と Grain は相反する性質は確かに存在しますが、 同時に使用することは決して不自然ではありません。