MipSmooth

Abstrato

autor: Klaus Post (Sh0dan)
versão: 1.11
download: http://cultact-server.novi.dk/kpo/avisynth/mipsmooth.html
categoria: Suavizadores Spatio-temporal
requisitos: 

Descrição

Este é o MipSmoother - uma reinvenção de SmoothHiQ e Convolution3D. MipSmooth foi feito para habilitar suavizações em áreas de píxeis maiores de 3x3 (x3), para remover blocos e suavizar ruído de baixa freqüência. É minha esperança que quando este filtro for ajeitado será melhor que C3D para suavizar superfícies planas e gradientes. Isto deveria ser bom para cartuns/anime, mas realmente também ajuda muito bem em seqüências de filme.

Sintaxe

Sintaxe básica: MipSmooth - todos os parâmetros são opcionais.

Sintaxe estendida:

MipSmooth (clip, optional arguments)

Há vários argumentos que controlam quanta suavização será aplicada:

preset = "MovieHQ" / "MovieLQ" / "AnimeHQ" / "AnimeLQ" / "VHS" / "Rainbow" / "Custom"

Veja a seção pré-fixada para mais informação.

spatial = 5,
temporal = 4,
spatial_chroma =6,
temporal_chroma =54,
scenechange = 2.0

Todos os números são válidos na gama de 0 a 255 e isto define o percentual para cada modo de mistura.
Os limiares podem ser comparados aos de C3D, exceto percentuais mais altos suavizam muito menos que C3D.
As colocações padrões são bastante conservadoras, e só suavizam ligeiramente as superfícies.

"Temporal influence" é substituído por detecção de mudança de cena global, que desabilitará o processo temporal em qualquer direção. Use "show = true" para exibir os valores em cada quadro.

method  = "strong" / "soft" /  "supersoft" / "superstrong"  -  padrão: "supersoft"
Esta colocação controla quanto borrado é aplicado. As colocações fortes fazem o filtro ter um impacto maior, considerando que macio é mais suave. Em geral forte deve dar melhores resultados em anime e suave deve ser melhor para material filmado. SuperSoft / SuperStrong usa uma aproximação ligeiramente diferente e em geral produz menos artefatos. Estes dois são em geral um pouco mais macio que modos não-super.

downsizer = "reduce", "point", "bilinear", "bicubic", "lanczos"  -  padrão: "reduce"
upsizer = "point", "bilinear", "bicubic", "lanczos"  -  padrão: "bilinear"
Estes dois parâmetros controlam como os mapas de resolução mais baixa são criados. Pode não haver um impacto visual muito grande, ao usar "resizers" diferente. Experiências são bem-vindas!

scalefactor = 0.5
Esta opção fixa a escala de cada "mipmap" (*). Isto é quanto cada quadro é reduzido em cada repetição. A resolução original é multiplicada por este valor.  Os valores utilizáveis são de 0.2 a 4.0, porém são recomendados só entre 0.4 e 1.5. Quando esta colocação é 1.0 nenhum borrado de espaço é feito, mas não é recomendado - use spatial = 0. Experimente com valores acima de 1.0 - eles podem ser úteis.
Isto afeta o raio do borrão. Quanto mais baixo é o fator de escala, maior o raio do borrão - e mais "crosstalk" (?) você terá.

* ver Informação de Fundo, mais abaixo.

MipSmooth(downsizer="lanczos", upsizer="bilinear", scalefactor=1.5, method = "strong")

O escrito anterior produz suavização suave muito agradável, por exemplo, mas é muito lento.

weigh = true / false
Esta opção seleciona se "mips" devem ser pesados baseado em quanto borrado eles estão.  O "mips" mais borrados são pesados como mais baixos.  Esta opção é igual à "Média de Peso" em SmoothHiQ, ou matriz "suave" em Convolution3D.

Esta opção só tem efeito se o modo SuperMip for usado.  Reduz a quantia de borrão quando ativada, assim pode ser usada para alcançar percentual mais altos sem artefatos.

show = true / false
Mostra a informação sobre a diferença de mudança de cena e as colocações usadas. Esta colocação não terá efeito em modo RGB24 - use RGB32 em vez!

storecustom = true / false
Isto armazenará as colocações usadas no registro. Para executar  estes pré-fixos depois, use o parâmetro preset = "custom".  Ele não se tornará automaticamente o parâmetro padrão.

Pré-fixamentos

Pré-fixos são as colocações internas para o ajudar no início. Os nomes dos parâmetros não são casos sensíveis.

Todos os prefixados são carregados como valores padrões. Significa que ainda é possível afinar as colocações fixando os parâmetros individuais.

Por exemplo: MipSmooth(preset = movieHQ ", scenechange = 8) usará MovieHQ, mas com scenechange fixado em 8.

MovieHQ

Este pré-fixado é para filmes naturais em alta qualidade.

Spatial: 4
Temporal: 5
Spatial Chroma: 5
Temporal Chroma: 7
Scenechange: 2.0
Method: SuperSoft
Downsizer: Bilinear
Upsizer: Bilinear
Scalefactor: 0.85
Weigh = true
MovieHQ2

Este pré-fixado é para filmes naturais em alta qualidade.

Spatial: 2
Temporal: 2
Spatial Chroma: 3
Temporal Chroma: 3
Scenechange: 2.5
Method: SuperSoft
Downsizer: Bilinear
Upsizer: Bilinear
Scalefactor: 0.75
Weigh = true
MovieLQ

Este pré-fixado é para filmes naturais que precisam mais suavização, ter mais blocos e ruído removido.

Spatial: 8
Temporal: 7
Spatial Chroma: 10
Temporal Chroma: 8
Scenechange: 3.5
Method: SuperSoft
Downsizer: Bilinear
Upsizer: Bilinear
Scalefactor: 0.65
Weigh = true
MovieLQ2

Este pré-fixado é para filmes naturais que precisam mais suavização, ter mais blocos e ruído removido.

Spatial: 4
Temporal: 4
Spatial Chroma: 5
Temporal Chroma: 5
Scenechange: 3.5
Method: SuperStrong
Downsizer: Bilinear
Upsizer: Bilinear
Scalefactor: 0.65
Weigh = true
VHS
Spatial: 9
Temporal: 6
Spatial Chroma: 10
Temporal Chroma: 9
Scenechange: 5.0
Method: SuperStrong
Downsizer: Bilinear
Upsizer: Bilinear
Scalefactor: 0.60
Weigh = true
AnimeHQ

Este é para remoção leve de blocos e restauração gradiente. Tem mais suavização espacial do que vídeo ordinário para ajudar a recriar superfícies gradientes e lisas.

Spatial: 6
Temporal: 8
Spatial Chroma: 6
Temporal Chroma: 8
Scenechange: 5.0
Method: SuperSoft
Downsizer: Bicubic
Upsizer: Bicubic
Scalefactor: 0.60
Weigh = true
AnimeLQ

Este é para material mais ruidoso com mais blocos e ruído.

Spatial: 5
Temporal: 5
Spatial Chroma: 5
Temporal Chroma: 7
Scenechange: 5.5
Method: SuperStrong
Downsizer: Bilinear
Upsizer: Bicubic
Scalefactor: 0.5
Weigh = true
Rainbow - arco-íris 

Isto pode ajudar a remover arco-íris piscando. Veja isto em Doom9 para info e alternativas. Reduza "scalefactor" para mais remoção de arco-íris e mais borrado em croma.

Spatial: 0
Temporal: 0
Spatial Chroma: 255
Temporal Chroma: 255
Scenechange: 2.0
Method: SuperStrong
Downsizer: Bilinear
Upsizer: Bilinear
Scalefactor: 0.65
Weigh = true
Custom - costume   

Este lê as colocações que foram armazenadas no registro e as usa como padrões.
Se nenhuma colocação armazenada no registro houver, um erro será emitido.
A qualquer hora é possível usar "storecustom = true" que armazenará as colocações atuais no registro para serem usadas como parâmetros de costume.

Exemplos & Truques:

Tente experimentar com suavização bem agressiva com baixos percentuais. Por exemplo:
MipSmooth(spatial=2, temporal=2, method="superstrong", scalefactor=0.75, weigh=true)

Esta é uma colocação bem boa para material de alta qualidade, estabilizando a imagem e dando compressão muito melhor, retendo ainda uma quantia bem alta de detalhe. Estes modos são implementados como pré-fixados "MovieHQ2" e "MovieLQ2".

MipSmooth(spatial=255, scenechange=0, method="soft")
# Isto dará uma imagem bem suave - visto em alguns comerciais e óperas sabão.
MipSmooth(spatial=255, scenechange=0, method="strong", scalefactor=0.65)
# Isto suavizará muito a imagem, como um suave borrão gaussian.
MipSmooth(spatial=255, scenechange=255, temporal=255, method="superstrong", scalefactor=0.6, weigh=false)
# Isto também dará uma imagem muito suave com um borrão temporal.

Ao aparar com este filtro, use antes o parâmetro "align=true", disponível no AviSynth 2.5.3 e posterior. Isto dá na maioria dos casos uma leve acelerada.

Informação de Fundo

"Mip" vem de "MipMap" que é um termo usado no mundo de gráficos 3D em tempo real e basicamente descreve uma versão amostrada de uma textura (superfícies bitmap de objetos 3D), usada quando o objeto está distante. MipMaps é sempre a metade do tamanho da imagem original.

O que MipSmooth faz é na verdade muito simples:

Pega o quadro fonte e cria três versões novas, cada uma com metade do tamanho da prévia. Isto é feito com ReduceBy2 ou um resizer selecionável. Estes quadros são todos escalados ao tamanho original com BilinearResize e comparados com o original e se a diferença estiver abaixo do percentual, a informação é usada para formar o píxel final.

O mesmo é feito para o prévio e o próximo quadro - e todos estes três quadros e os mipmaps borrados são usados para reconstruir cada píxel.  O percentual é ajustado para aquelas imagens mais borradas sejam determinadas um percentual mais baixo que as versões mais aguçadas.

Supermip cria primeiro três quadros (supermips) de imagens espacialmente borradas e fazem uma suavização temporal nestes três quadros. Isto reduz grandemente os artefatos em "denoising / blurring" (supressão de ruídos / borrados) pesados.

Melhoras Futuras Possíveis

$Date: 2006/03/26 18:11:53 $ Portuguese translation by RoLon