Interpolação de quadro-chave suave
Você já se perguntou por que o modo de interpolação suave do Kdenlive pode apresentar ultrapassagens entre os quadros-chave? E como configurar o Kdenlive para evitar essas situações?
Vamos começar a olhar por trás das cenas e apresentar a você o estranho mundo da suavidade. Não se preocupe, não haverá matemática para você aprender ou entender. Basta observar as figuras. Também mostraremos como evitar esses excessos em situações indesejadas. E para os realmente curiosos que desejam saber qual é a matemática por trás da interpolação “suave”, há algumas informações adicionais na seção Notas na parte inferior desta página.
Rampa de entrada gradual
Quadros-chave no efeito Intensidade
Vamos começar com uma rampa simples, como mostrado aqui. Usamos dois quadros-chave[1], um com uma configuração de valor baixo e o outro com uma configuração de valor alto. Os valores específicos não importam. Definimos ambos os quadros-chave para o modo de interpolação suave.
Exibição de quadros-chave de clipes de cor
A exibição do efeito dentro do clipe da linha do tempo parece uma rampa reta. Mas, se você observar atentamente os valores interpolados enquanto percorre a linha do tempo, perceberá que a inclinação da rampa varia. No início e no final, a inclinação é menor do que no meio, onde é maior.
Mas o que exatamente está acontecendo aqui?
Visualização da interpolação de Catmull-Rom no GeoGebra
Existe uma ferramenta online de código aberto, o GeoGebra, para experimentar os cálculos matemáticos presentes no mecanismo MLT do Kdenlive.
Esta figura mostra dois quadros-chave, P1=0 e P2=1, que é uma configuração de aceleração gradual bastante típica. Caso você esteja se perguntando: não importa em quais quadros exatos os quadros-chave individuais estejam.
A interpolação suave que o MLT irá calcular é representada por uma linha verde espessa. Ela é levemente curvada, como a letra maiúscula S, mas não muito.
E se você observar atentamente, verá que a inclinação inicial e final da linha verde não são horizontais - pelo menos não como se poderia esperar à primeira vista.
Você pode estar se perguntando para que servem os outros dois quadros-chave, P0 e P3? Bem, o cálculo subjacente sempre requer quatro quadros-chave para interpolar, segmento a segmento, entre quaisquer dois quadros-chave adjacentes. E se não houver um quadro-chave anterior (P0) ou posterior (P1), simplesmente repetiremos o quadro-chave da esquerda (P1) ou da direita (P2).
Aceleração e… ultrapassagem
Quadros-chave no efeito Intensidade
Agora vamos adicionar um terceiro quadro-chave, para que fique parecido com uma rampa com um platô. Isso pode ser visto nas capturas de tela.
Exibição de quadros-chave de clipes de cor
E agora, a rampa apresenta uma saliência claramente visível em vez de uma curva acentuada. Bem, parece suave, mas não exatamente o que tínhamos planejado. Então, por que está assim?
Visualização da interpolação de Catmull-Rom no GeoGebra
Esta é agora a nossa rampa com um platô: P0=0, P1=1, P2=2. Não se preocupe com a numeração dos quadros-chave.
Você esperava que o platô fosse, bem, um platô linear? Claro que sim. Mas você já deve ter percebido que o Kdenlive não se comporta exatamente assim. Em vez disso, o cálculo da interpolação faz com que os valores interpolados ultrapassem o valor inicial, como você pode ver facilmente na figura.
O que a matemática por trás disso faz é o seguinte: a interpolação é suave, de modo que a inclinação à esquerda de P1 seja a mesma que à direita de P1. Sim, essa “suavidade” é um pouco diferente do que você poderia estar esperando.
Se você preferir que o platô seja reto, defina o modo de interpolação do quadro-chave P1 como linear. Aliás, isso não altera o segmento suave anterior de forma alguma. E isso resulta em uma “pequena curvatura” em P1, mas felizmente você provavelmente não notará na maioria das situações.
Rampa ascendente-plana descendente
Quadros-chave no efeito Intensidade
Exibição de quadros-chave de clipes de cor
Vamos adicionar um quarto quadro-chave, para termos: primeiro uma subida gradual, depois uma estabilização e, por fim, uma descida gradual. Um modelo de quadro-chave de fade-in e fade-out bastante típico.
E vejam só o que está acontecendo: temos uma elevação, mas não uma seção intermediária plana e agradável.
Visualização da interpolação de Catmull-Rom no GeoGebra
Desta vez, vamos observar a seção intermediária P1-P2. À esquerda, vemos a rampa de subida e, à direita, a rampa de descida.
Novamente, “suave” significa que não há curvas acentuadas nos segmentos. Em vez disso, as inclinações esquerda e direita são contínuas em P1 e P2, ou seja, na seção central. E isso faz com que nosso valor interpolado ultrapasse o valor ideal.
Vamos tornar o plano grande novamente
Suavizar quadros-chave no efeito Intensidade
Então, como conseguimos um topo plano? Felizmente, isso é fácil de alcançar, como você pode ver nas capturas de tela.
Notas
- Leitura complementar
Como você deve (ou talvez não) se lembrar, o mecanismo de renderização do Kdenlive é o MLT Multimedia Framework. Embora o MLT possua smooth interpolation desde meados de 2013, o Kdenlive só posteriormente acompanhou essa tendência e agora suporta os três modos de interpolação: linear, discreto e suave. Como pode ser visto no source code do MLT, a interpolação suave é feita usando uma Catmull-Rom spline. Em particular, o MLT utiliza a chamada variante uniforme, por ser muito simples. A desvantagem é que essa suavização às vezes apresenta a propriedade indesejada de ultrapassar o valor desejado, especialmente quando menos se espera.
- Fontes
O texto original foi enviado pelo usuário TheDiveO para o blog kdenlive.org, agora extinto. Para esta documentação, ele foi extraído do kdenlive.org, atualizado e adaptado para corresponder ao estilo geral.