digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Conversão e Codificação de Vídeo (Português) (http://www.digitalfaq.com/archives/portugues/)
-   -   Predição CCE -> Mais precisão! (http://www.digitalfaq.com/archives/portugues/12073-predicao-cce-mais.html)

ginoboy 09-11-2004 04:17 PM

Predição CCE -> Mais precisão!
 
:arrow: http://www.kvcd.net/forum/viewtopic....ght=sample+cce

Isso é interessante, acho que deveria ser usado por todos que fazem no modo manual tb (o diko usa este método tb)..

Só que eu não entendi direito !

Pelo que eu entendi, faz amostras normalmente até achar o QFactor mais aproximado.

Depois vc faz outra amostra usando Length=75, mas depois essa parte aqui eu não entendi:

Quote:

2) After finding the right Q Factor, encode again using different scenes (as in ping-pong method) and a larger sample range like 5% ( sampler(length=75) instead of sampler(length=15)):
a) If the result is X% bigger, decrease QFactor by 1,
b) If the result is Y% bigger, decrease QFactor by 2,
c) If the result is X% smaller, increase QFactor by 1,
d) If the result is Y% smaller, increase QFactor by 2,
V! Será que você poderia, até traduzir isso ae, ou explicar isso ae pra galera aqui.. seria mto util, e as predições seriam mais precisas..

valeu! abraços...

ginoboy 09-12-2004 09:04 PM

Não interessa a ninguém?! :cry:

jorel 09-12-2004 11:03 PM

ô gino
eu me interessei e postei lá a muito tempo atraz mas acho que a turma mudou a estratégia e está usando de outra maneira.
creio que este thread foi antes do DIKO e do FreeEnc.
....já tem muito tempo, olha a data do primeiro post: Wed Mar 17, 2004 !

talvez o V tenha alguma novidade sobre aquele thread ! :?

falou? :wink:

ginoboy 09-13-2004 10:14 AM

Pois então.. qual seria o metodo mais preciso ? Pois a amostra normal nunca chega nem perto do calculado o tamanho final.. ta dificil hehe

[]'s

jorel 09-13-2004 10:44 AM

eu uso um outro programa que faz o size final com precisão.
ainda não postei como usar porque este programa tem uma opção nova para usar o QuEnc e o melhor:
:arrow: usar o FreeEnc no lugar do QuEnc! (pode ser CCE ou tmpgenc também)...
vem com todos os programs free e é obicho

só estou aguardando pequenos detalhes à respeito de uasr o QuEnc ou FreeEnc!
depois eu posto tudo!
é melhor esquecer isto por alguns dias até ter certeza que tudo está legal

:arrow: e principalmente ter o aval do V pra usar o FreeEnc nele.
o FreeEnc é free (óbvio :roll: - mas eu sou um "coió", né?) mas
mesmo assim quero o aval dele !
e ele ainda nem sabe disto....claro, se ele ler aqui vai ficar sabendo!

:)

vmesquita 09-13-2004 01:05 PM

Olá,

Eu não tinha respondido isso antes pq vi que ia levar um tempão pra escrever. Mas vamos lá:
As idéias são duas:
1) Existe um comportamento que se aproxima de uma função especifica no funcionamento do Q Factor
2) Usar uma amostra maior na predição dá mais precisão, mas obviamente demora mais.
Então a idéia é usar a aproximação de função para obter o QFactor supostamente ideal para uma amostra pequena, e fazer uma ajuste fino usando uma tabela. Como a função tem um comportamento aproximado em uma vizinhança (mas quanTO mais se afasta da amostra real, maior o desvio), este parece a maneira mais lógica.

Se vc observar o grafico postado na thread, verá que dá pra aproximar por uma reta os segmentos de 1 a 20 e de 20 até 40. Isso tb é mais ou menos válido de 1a 25 / 25 a 50. Então com base nisso tudo, fazemos o seguinte:
1) Codificamos a amostra com QMax. Se ficar maior que o desejado, significa que precisará de um QFactor maior. (é onde o DIKO aborta)
2) Codificamos a amostra com QMax/2.
2a) Se ficar maior, pula para 3.
2b) Se ficar menor, Usamos este valor como QMin.
3) Codificamos com Q =1 e usamos como QMin.
Calculamos o QFactor otimo fazendo uma regra de Três, que será:
40- ((Ideal_SAMPLE_Size)*40-20)/(Q20_Size-Q40size)

ou

20- ((Ideal_SAMPLE_Size)*20-1)/(Q1_Size-Q20size)
(dependendo dos resultados anteriores.

Até aqui, achamos o QFactor ideal em 2 ou 3 codificações. Mas veja, este é o QFactor ideal para uma amostra pequena, contendo os erros usuais!
Então fazemos mais uma codificação, usando o QFactor supostamente ideal, mas como uma amostra 3,4 ou 5 vezes maior. E fazemos um ajuste através de tabela, que é razoavelmente preciso pq estaremos dentro de uma vizinhança.
A tabela usada pelo DIKO é a seguinte:
De 1 ate 6: 1.5% a cada fator
De 7 ate 22: 3.1% a cada fator
De 23 até 34: 2.3% a cada fator
De 35 até 50: 1.6% a cada fator
De 50 até 60: 1% a cada fator.

E pronto! Seu QFactor em 2 ou 3 amostras curtas + 1 amostra maior. :D

ginoboy 09-13-2004 06:16 PM

Humm.. acho que entendi.. depois vou testar e posto aqui!

Brigadão V!

[]'s

ginoboy 09-24-2004 08:49 PM

Bom, vou testar esse metódo, mas não to entendendo mto bem não V!, eu não etendi mtooo bem, vamos vamos lá..

deixa eu ver se eu entendi..

vamos supor q a minha amostra deve ter 40mb...

eu codifico com q40, e fica menor q 40 mb..

ai eu codifico com q20 e continua ficando menor.. vamos supor q ficou com 38,5 mb com Q20 e com q1 ficou 79,8mb... então eu faço a conta:

40,15 * 20 - 1 / 79,8-38,5

802 / 41.3 = 19,42

Certo, meu QFactor deve ser 19,42, como o CCE só aceita número inteiro, arredondaremos para 19.

Agora eu faço um sample com length=75 ???

(aqueles valores q eu postei acima são reais, agora preciso saber se pra fzr o big sample é isso mesmo, ai eu posto aqui depois)...

Não entendi tb isso aqui:

Quote:

De 1 ate 6: 1.5% a cada fator
De 7 ate 22: 3.1% a cada fator
De 23 até 34: 2.3% a cada fator
De 35 até 50: 1.6% a cada fator
De 50 até 60: 1% a cada fator.
Bom, vamos supor q tenho a media do Q ali e o tamanho do big sample com Q 19 (conforme o calculado) lá... e agora?

valeu V!

[]'s

vmesquita 09-25-2004 11:37 AM

Quote:

Originally Posted by ginoboy
Certo, meu QFactor deve ser 19,42, como o CCE só aceita número inteiro, arredondaremos para 19.

Exatamente, até aí tudo bem.
Quote:

Agora eu faço um sample com length=75 ???
Sim. E para saber o tamanho ideal para esse sample, multiplique por 5, no caso daria 40*5=200 Mb.
Quote:

(aqueles valores q eu postei acima são reais, agora preciso saber se pra fzr o big sample é isso mesmo, ai eu posto aqui depois)...

Não entendi tb isso aqui:
Poste quanto deu o big sample que fica mais fácil eu explicar o resto usando o exemplo.

ginoboy 09-25-2004 04:36 PM

Bom, dei umas mudadas no script e os valores são outros valores:

O valor final do Q, ao invez de 19,42, deu 19,90, arredondando, 20...

então codifiquei com Q=20 c/ sampler(length=75) e a codificação ficou = 174mb !!!

E agora?

[]'s

vmesquita 09-25-2004 06:05 PM

Viu o desvio quando se usa uma amostra real? Isso demonstra que a realidade representada por aquela amostra menor não é muito precisa.

No caso: 174 Mb -> Q20
usando a tabela,
Q19 iria corresponder a Q20 + 3%=174 + 5,22=179 Mb.
Q18 iria corresponder a Q19 + 3%=179 + 5 = 184
Q17 iria corresponder a Q18 + 3%=184 + 5 = 189
Q16 iria corresponder a Q17 + 3%=189 + 5 = 194
Q15 iria corresponder a Q16 + 3%=194+ 5 = 199

Portando o Q Procurado é 15.

ginoboy 09-25-2004 07:28 PM

Hum valeu V! vou usar Q 15 e vamos ver como vai ficar....

[]'s

ray 09-25-2004 10:33 PM

Amigos,

faz muito tempo também que tento prever com mais precisão mas até agora nada de acertar.

Uso fontes Divx, esse método aqui apresentado serve para esse tipo de fonte?

Exemplo para indicar minha dificuldade com essa rotina:

Video Divx com 83 min fps 23.976

Sample Ideal (KDVDCalc) = 7,25 mb

CQ 40 = 6,32
CQ 20 = 8,87

Usei a primeira fórmula: 40- ((Ideal_SAMPLE_Size)*40-20)/(Q20_Size-Q40size)

7,25*40 - 20 / 8,87 - 6,32

270 / 2,55 = 105,88


O que está errado?

Abraços,

vmesquita 09-26-2004 08:23 AM

Oi ray,

vc fez a conta errado: o resultado correto é 16,34, verifique os parenteses. :wink:
O método independe da fonte.

ray 09-27-2004 05:38 PM

Caro vmesquita,

agora fiquei com sérios problemas na matemática básica.

Não consegui resolver os parenteses e encontrar esse valor de 16,34.

Sei que aqui é suporte para kvcd e não auxílio aos menos capacitados
a resolver as equações matemáticas.

Mas veja o que está acontecendo:
- se meu sample via kdvdcal é 7,25 mb e meus cqs de 20= 8,87 e 40=6,32
- como pode a fórmula dar esse resultado de 16,34 (que confesso não sei como calcular) ?

- não deveria ter resultado um CQ entre 20 e 40 ?

- como foi ficar em 16 ?

Desculpe amigo a insistência mas desejo aprender a usar esse seu método de predição.

Você teria a paciência de explicitar como chegar a esse valor passo a passo para que eu possa entender?

Bem era isso ...

Abraços,

ginoboy 09-27-2004 07:04 PM

Eu tinha esquecido de calcular o overhead hehe.. refiz os calculos aqui e vo codificar essa noite, vamos ver... amanhã posto o resultado aqui...

quanto a conta do ray, parece estar certa. (mas na verdade está errada, como vc disse).. tb não achei onde está o erro.. explica ae V! :D

to fazendo outro kdvd aqui tb, fiz os calculos, a amostra deve ter 36mb, codifiquei em Q40, e olha q num deu 36mb mesmo !! hehe, então nem precisa de conta.. Q40... ai fiz big sample, deu: 164.. vamos ver:

36*5 = 180 = Q40

Q39 iria corresponder a Q40 + 3%=164 + 4,92mb= 168,92
Q38 iria corresponder a Q39 + 3%=168,92 + 3% = 173,98
Q37 iria corresponder a Q38 + 3%=173,98 + 3% = 179,20
Q36 iria corresponder a Q37 + 3%=179,20 + 3% = 184,58

:arrow: Então meu Q é 37, certo :!:

Mto interessante, depois vou fzr um post simplificado de como "fazer sampler" de forma mais rapida e eficar! :arrow: graças a VMESQUITA :!:

valeu mais uma vez V!, abraço!

ginoboy 09-28-2004 07:24 PM

V! Não to conseguindo fazer isso:

A amostra deve ter: 38,73mb

O encode com Q 40, ficou com 35,2mb e com Q 20 ficou com 51,7mb

((Ideal_SAMPLE_Size)*40-20)/(Q20_Size-Q40size)

Então, qdo eu faço essa conta fica:

38,73*40 = 1549,2 - 20 = 1529,2 / 51,7 - 35,2 = 16,5

1529,2 / 16,5 = 92,68 :?:

O que eu to fazendo de errado ? Qdo foi com Q20xQ1 deu certinho, assim não ta dando... 8O

Desculpa fica enchendo o saco ae.. mas essa fiquei encanado :oops:

abração V!

ray 09-28-2004 07:40 PM

Caro ginoboy,

agora já não estou só.

Estava pensando que só comigo que a equação não funcionava.
Acredito que ela funcione mas qual será o macete?

Vamos ver se vmesquita dá uma luz e nos mostra como fazer esse
cálculo.

Abs.

danpos 09-28-2004 07:59 PM

Quote:

Originally Posted by ginoboy
V! Não to conseguindo fazer isso:

A amostra deve ter: 38,73mb

O encode com Q 40, ficou com 35,2mb e com Q 20 ficou com 51,7mb

((Ideal_SAMPLE_Size)*40-20)/(Q20_Size-Q40size)

Então, qdo eu faço essa conta fica:

38,73*40 = 1549,2 - 20 = 1529,2 / 51,7 - 35,2 = 16,5

1529,2 / 16,5 = 92,68 :?:

O que eu to fazendo de errado ? Qdo foi com Q20xQ1 deu certinho, assim não ta dando... 8O

Desculpa fica enchendo o saco ae.. mas essa fiquei encanado :oops:

abração V!

Vou dar uma de Jorel, Gino ! Tem que ler ! :lol:

Olha o que o Vinicius escreveu:

Quote:

Originally Posted by VMesquita
2) Codificamos a amostra com QMax/2.
2a) Se ficar maior, pula para 3.

Repare que Q20 > Q40; assim a fórmula correta seria:

Quote:

Originally Posted by VMesquita
20- ((Ideal_SAMPLE_Size)*20-1)/(Q1_Size-Q20size)

Veja se resolve ...

[]´s

ray 09-28-2004 08:24 PM

Caro Danilo,

se entendi bem deve ser o contrário, veja:

3A) If the encoded sample comes bigger than ideal sample size you calculed before, encode at Q=40. The size of the obtained sample will be called Q40Size. The Final Q will be calculed using this formula:

40- ((Ideal_SAMPLE_Size)*40-20)/(Q20_Size-Q40size)


Veja que no caso do gino e meu o sample ideal está entre 20 e 40.

E sempre, matemáticamente, 20>40.

por isso estamos usando essa equação.

E nosso problema está em acertar o cálculo pois a fórmula escolhida
é a certa.

Abs.


All times are GMT -5. The time now is 03:26 AM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.