Crop のバックアップの現在との差分(No.3)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
 Crop(clip clip, int left, int top, int width, int height, bool align)
#pre{{
Crop (clip, int left, int top, int width, int height, bool "align")
Crop (clip, int left, int top, int -right, int -bottom, bool "align")
CropBottom (clip, int count, bool align)
}}

 Crop(clip clip, int left, int top, int -right, int -bottom, bool align)
Crop は、各フレームの余分なピクセルを切り落とします(crop)。もしソースビデオの解像度が 720x480 で、これを VideoCD 向けに 352x240 に縮小したいなら、その正しいやり方は次のとおりです:

 CropBottom(clip clip, int count, bool align)
#pre{{
# 正しいアスペクト比を保持したまま、ITU-R BT.601 を VCD に変換する
ReduceBy2
Crop(4,0,352,240)
}}

Cropは、各フレームの余分なピクセルを切り落とします(crop)。もし、あなたのソースビデオが解像度720x480であり、なおかつ、VideoCD用に352x240に縮小したいなら、ここに、そのための正確な方法があります:
各カラーフォーマットを使用する際の制限事項については、[[色空間変換フィルタ>Convert]]を参照。

 # 正しいアスペクト比を保持したまま、CCIR601をVCDに変換する:
 ReduceBy2
 Crop(4, 0, 352, 240)
'''width''' と '''height''' に負の値が入力されると、これらの値はオフセットとして取り扱われます。例えば:

AviSynth v2.01以降では、負の値(または0)を使った代替シンタックスが可能です。この場合、最後の2つのパラメータは、VirtualDubスタイルのオフセットとして取り扱われます。たとえば:
#pre{{
# 画像サイズに関係なく、画像の四辺すべてから 16 ピクセル切り落とす:
Crop(16,16,-16,-16)
}}

 # 画像サイズを考慮せずに、すべての縁を16ピクセルをCropする:
 Crop(16, 16, -16, -16)
v2.53 において、'''align''' オプション(デフォルトは false)が追加されました:~
YUY2/RGB32 画像のクロップは、つねに 4 の倍数(4 バイト)で行われます。しかし、x バイト(整数)読み込む時、読み出しがメモリ内で x の倍数の配置にアライン((訳者註: 整列、位置合わせ。参考: [[データ型のアラインメントとは何か,なぜ必要なのか?:http://www5d.biglobe.ne.jp/~noocyte/Programming/Alignment.html]]、[[hydrangea 0.09:http://homepage2.nifty.com/hydrangea/note/computer_architecture.html]]))されるとより高速になります。MMX/SSE は 8 バイトアラインメントを好み、SSE2 は 16 バイトアラインメントを好みます。データがアラインされて''いない''と、読み出し/書き込み操作は、それぞれ少なくとも 4 バイト周期で遅延されます。このため、AviSynth によって画像が生成される時、それらの画像はつねに 16 の倍数にアラインされます。

v2.53で、alignオプション(デフォルトはfalse)が追加されました:
画像がクロップされた場合に、それらのデータがメモリ内でアラインされずに配置されることもあるでしょう - 「'''align''' = true」は、アラインされていないメモリ配置からアラインされた配置へフレーム全体をコピーします。このため、もし次のフィルタの不利益が完全な画像のコピーの不利益よりも大きいなら、「'''align''' = true」を使ったほうがより高速に処理できます。とりわけ、次に平滑化フィルタが来るときには。

Cropping an YUY2/RGB32 image is always mod4 (four bytes). However, when reading x bytes (an int), it is faster when the read is aligned to a modx placement in memory. MMX/SSE likes 8-byte alignment and SSE2 likes 16-byte alignment. If the data is NOT aligned, each read/write operation will be delayed at least 4 cycles. So images are always aligned to mod16 when they are created by AviSynth.
もう一方の CropBottom のシンタックスは、VHS テープからキャプチャされたクリップの下端からゴミを切り落とすのに役に立ちます。各フレームの下端から '''count''' ライン削除します。

If an image has been cropped, they will sometimes be placed unaligned in memory - "align = true" will copy the entire frame from the unaligned memory placement to an aligned one. So if the penalty of the following filter is larger than the penalty of a complete image copy, using "align=true" will be faster. Especially when it is followed by smoothers.
異なる色空間のデータ構造を保持するには、以下の倍数を使用する必要があります。それらが守られなくてもエラーメッセージは出ませんが、奇妙な人工ノイズが発生するかもしれません。

The alternative CropBottom syntax is useful for cropping garbage off the bottom of a clip captured from VHS tape. It removes count lines from the bottom of each frame.
RGB:~
幅 制限なし~
高さ ビデオがプログレッシブなら、制限なし~
高さ ビデオがインターレースなら、2 の倍数

In order to preserve the data structure of the different colorspaces, the following mods should be used. You will not get an error message if they are not obeyed, but it may create strange artifacts. For a complete discussion on this, see DataStorageInAviSynth
YUY2:~
幅 2 の倍数~
高さ ビデオがプログレッシブなら、制限なし~
高さ ビデオがインターレースなら、2 の倍数~

RGB:
YV12:~
幅 2 の倍数~
高さ ビデオがプログレッシブなら、2 の倍数~
高さ ビデオがインターレースなら、4 の倍数

width 制限なし
''注:'' リサイズ関数では、オプションで入力フレームの分数ピクセルのクロップが可能です。この場合、リサイズされる端のピクセルに重み付けが適用されることになります。もし Crop の n の倍数というフォーマット次元での制限が不便なら、これらのオプションを使用することができます。[[リサイズ関数>Resize]]を参照してください。要約すると -- 「VHS のヘッドノイズやレターボックスの縁のようなくっきりした人工ノイズを切り落とすには、つねに Crop を使用してください。画像の一部分を抽出したり、画像の端の正確なリサンプリングを維持するには、リサイズの cropping パラメータを使ってください。」([[Doom9 スレッド:http://forum.doom9.org/showthread.php?s=&threadid=91630]])

height ビデオがプログレッシブなら、制限なし

height ビデオがプログレッシブなら、2の倍数

YUY2:

width 2の倍数

height ビデオがプログレッシブなら、制限なし

height ビデオがプログレッシブなら、2の倍数

YV12:

width 2の倍数

height ビデオがプログレッシブなら、2の倍数

height ビデオがプログレッシブなら、4の倍数

NOTE: The resize functions optionally allow fractional cropping of the input frame, this results in a weighting being applied to the edge pixels being resized. These options may be used if the mod-n format dimension restriction of crop are inconvienient. See [[Resize Filter>Resize]].

#hr
//註: このページは、http://www.avisynth.org/Cropの日本語訳です。

註: このページは、AviSynth 2.5.7 に同梱されているマニュアル(英語版)の日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/crop.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。