Quantcast File Size Prediction Formula - digitalFAQ.com Forums [Archives]
  #1  
01-06-2003, 12:35 PM
girv girv is offline
Free Member
 
Join Date: Sep 2002
Posts: 108
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to girv
Can I check a couple of things please?

1) The latest file prediction fomula, for use with the Sampler plugin and default parameters, is:

PredictedSize = ((Framecount/TimeInMinutes)/24) * SampleSize * Factor


2) The previous file prediction fomula, for use with SelectRangeEvery 100 x 1-second samples, was:

PredictedSize = ((Framecount/FrameRate)/100) * SampleSize * Factor


Is that right?

/girv
Reply With Quote
Someday, 12:01 PM
admin's Avatar
Site Staff / Ad Manager
 
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
01-06-2003, 12:46 PM
kwag kwag is offline
Free Member
 
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
Hi girv,

This is the current formula: MPEG size = ((Total frames/MovieTimeInMinutes)/24) * MPEG sample file size

-kwag
Reply With Quote
  #3  
01-07-2003, 04:57 AM
girv girv is offline
Free Member
 
Join Date: Sep 2002
Posts: 108
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to girv
Hold on to your hats.

I think the "old" and "new" formula are just different forms of the same fundamental (and more intutive IMHO) formula. Dust of the algebra books, take a deep breath and follow me...

DEFINITIONS:
Sm: movie size
Ss: sample size
Tm: move time in seconds (= 60*MovieTimeInMinutes)
Ts: sample time in seconds (100 for old method, Tm/60 for new)
Ts: sample time in seconds
FC: frame count
FR: frame rate (frames per second)
F: fudge factor (0.96-ish)

OLD:
Sm = ((FC/FR)/100) * Ss * F

rewriting:
Sm = (FC/(FR * 100)) * Ss * F

now FC = Tm * FR and Ts = 100 so:
Sm = ((Tm * FR)/(FR * Ts)) * Ss * F

cancelling FR:
Sm = (Tm/Ts) * Ss * F

Lets call this equation (1)


NEW:
Sm = ((FC/(Tm/60))/24) * Ss * F

rewriting:
Sm = ((FC * (60/Tm)) / 24) * Ss * F

and again:
Sm = ((60*FC)/(24*Tm)) * Ss * F

now FC = Tm * FR and lets say FR = 24, so:
Sm = ((60 * Tm * FR) / (FR * Tm)) * Ss * F

cancelling Tm and FR:
Sm = 60 * Ss * F

but Tm / Ts = 60 in this case so:
Sm = (Tm / Ts) * Ss * F

...which is equation (1) again.

Notes:
1. I know the "new" formula doesnt include the fudge factor, but in all my tests (using the new GOP of course ;) I still found I needed it just the same as with the "old" formula. Why was it dropped anyway?

2. I know its a bit of a leap of faith to say "FR=24" in step 4 of the "new" proof, but IMHO its more reasonable to say 24 is the framerate rather than the GOP length. Besides, it makes the proof work ;)

3. Could the fudge factor be due to extra I frames being inserted into the sample clip as the "scene" changes very rapidly (> once per second) compared to the movie, thereby artificially inflating the sample file size? Might be useful to switch off "detect scene change" when encoding the sample. Need to test that.


What equation (1) says is: to get the predicted movie size you just scale up the sample file size by the ratio of the sample time to the movie time. So if you sample 1/60 of the movie (one second for every minute, just like Sampler does by default) you just multiply the sample file size by 60 to get the movie size. Seems a lot more intuitive to me.

I've tested this formula on a variety of clips and the results are identical
to the "old" and "new" ones, which would lead me to believe I'm right :) I'd appreciate it if the good folk of kvcd.net could do some independent testing :) Different framerates and GOP lengths would be important to test (see note 2 above) as would low and high action clips. Also cast your eye over the math above and check I've got it right in the first place!

So what do you think?
Reply With Quote
  #4  
01-07-2003, 03:38 PM
ARnet_tenRA ARnet_tenRA is offline
Free Member
 
Join Date: Jan 2003
Location: Illinois, USA
Posts: 73
Thanks: 0
Thanked 0 Times in 0 Posts
girv,

I think that the old and new formulas have to be different. The old formula was for 100 samples per movie and the new formula is for one sample per minute.

As a side note, I think that if your movie is 24 frames per second then the formula is simply:

Predicted MPEG size = 60 * MPEG sample file size

-ten
Reply With Quote
  #5  
01-07-2003, 04:00 PM
katchupoy katchupoy is offline
Free Member
 
Join Date: Dec 2002
Posts: 40
Thanks: 0
Thanked 0 Times in 0 Posts
Girv,

If you are interested...

I've created a small Microsoft Excell file that you can use for your file prediction. It is based on Kwags formula plus a little tweak here and there.

You just typed in the variables and the formula are already built-in so you will have answers too on that page at the same time.

But its kind of low tech but I think it is good.

the last movie I did has a 0.02 percent efficiency...
Reply With Quote
  #6  
01-07-2003, 09:56 PM
jorel jorel is offline
Invalid Email / Banned / Spammer
 
Join Date: Aug 2002
Location: Brasil - MG - third stone from the sun
Posts: 5,570
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by katchupoy
Girv,

If you are interested...

I've created a small Microsoft Excell file that you can use for your file prediction. It is based on Kwags formula plus a little tweak here and there.

You just typed in the variables and the formula are already built-in so you will have answers too on that page at the same time.

But its kind of low tech but I think it is good.

the last movie I did has a 0.02 percent efficiency...
"If you are interested..."

yes,i am .....say more !
or post it!
thanks.
Reply With Quote
  #7  
01-07-2003, 11:33 PM
katchupoy katchupoy is offline
Free Member
 
Join Date: Dec 2002
Posts: 40
Thanks: 0
Thanked 0 Times in 0 Posts
I dont know how... it wont accept attachments....
email will do...

any suggestions?
Reply With Quote
  #8  
01-07-2003, 11:38 PM
jorel jorel is offline
Invalid Email / Banned / Spammer
 
Join Date: Aug 2002
Location: Brasil - MG - third stone from the sun
Posts: 5,570
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by katchupoy
I dont know how... it wont accept attachments....
email will do...

any suggestions?
my e-mail is working now,
please send it!
Reply With Quote
  #9  
01-07-2003, 11:44 PM
katchupoy katchupoy is offline
Free Member
 
Join Date: Dec 2002
Posts: 40
Thanks: 0
Thanked 0 Times in 0 Posts
On Kwags formula, you are looking for SM which is movie size.

What if you already know the movie size. So we are going to jumble the formula and instead look for SS which is sample size.

I also need to add that I just used Kwags formula to know the SS...
PredictedSize = ((Framecount/FrameRate)/100) * SampleSize * Factor

I must admit KWAG that the 0.95 factor is accurate enough to make a 0.02 percent difference on two movies I've made...

Spiderman and Jimmy Neutron...

Ex: Spiderman
Predicted Size = 651,801
Actual Size =651,699

pretty close huh...

But, of course this might not work on other movies...
Reply With Quote
  #10  
01-08-2003, 12:01 AM
kwag kwag is offline
Free Member
 
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by katchupoy
I also need to add that I just used Kwags formula to know the SS...
PredictedSize = ((Framecount/FrameRate)/100) * SampleSize * Factor
Hi katchupoy,

That's with the old formula. It's not used anymore since we changed the GOP to 1-12-2-1-24.

The new formula is Predicted MPEG size = (( Total frames/MovieTimeInMinutes) / 24 ) * MPEG sample file size

You don't need offset factor with the new formula, because it's much more accurate. Specially with CQ. I recall problems with the old formula and CQ mode.

-kwag
Reply With Quote
  #11  
01-08-2003, 12:07 AM
katchupoy katchupoy is offline
Free Member
 
Join Date: Dec 2002
Posts: 40
Thanks: 0
Thanked 0 Times in 0 Posts
Ok, I am using this...

KVCD-CQ-352x240-_NTSCFilm_-PLUS__120MIN.mcf
GOP = 1-5-2-1-24

am i going to change the GOP as per your instruction?

I will give it a try...

So I just need to make my factor = 1 so I dont have to rewrite my small excel file formula




Thanks
Reply With Quote
  #12  
01-08-2003, 01:17 AM
katchupoy katchupoy is offline
Free Member
 
Join Date: Dec 2002
Posts: 40
Thanks: 0
Thanked 0 Times in 0 Posts
Jorel,

did you received the file?
Reply With Quote
  #13  
01-08-2003, 01:23 AM
jorel jorel is offline
Invalid Email / Banned / Spammer
 
Join Date: Aug 2002
Location: Brasil - MG - third stone from the sun
Posts: 5,570
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by katchupoy
Jorel,

did you received the file?
yeah
read this:

don't thank me yet...

It might not work for you... but I am crossing my fingers...


thank you!! :yippie:
Reply With Quote
  #14  
01-08-2003, 05:35 AM
girv girv is offline
Free Member
 
Join Date: Sep 2002
Posts: 108
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to girv
@ARnet_tenRA:
Quote:
I think that the old and new formulas have to be different. The old formula was for 100 samples per movie and the new formula is for one sample per minute.
Check through the "working out" in my post. The sample length (Ts) is accounted for in both cases. The old and new formulae are different only because the old method used 100s of sample and the new uses 1s per minute of movie. If you replace these numbers with variables both formulae can be proved to be the same thing.

Quote:
As a side note, I think that if your movie is 24 frames per second then the formula is simply:

Predicted MPEG size = 60 * MPEG sample file size
Thats correct. I believe the "24" in the new formula is framerate rather than GOP length, so I also believe that the formula you give above will hold so long as you sample one second per minute of movie (Tm/Ts = 60) independent of framerate. More tests are required though.

@katchupoy:
Quote:
I've created a small Microsoft Excell file that you can use for your file prediction. It is based on Kwags formula plus a little tweak here and there.
Thanks, but I've got my own :)
Reply With Quote
  #15  
01-08-2003, 10:02 AM
SansGrip SansGrip is offline
Free Member
 
Join Date: Nov 2002
Location: Ontario, Canada
Posts: 1,135
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by girv
I believe the "24" in the new formula is framerate rather than GOP length
With the new formula one uses minutes-in-movie samples of max-gop-length frames. At the moment that's 24 regardless of frame rate .
Reply With Quote
  #16  
01-08-2003, 11:32 AM
ARnet_tenRA ARnet_tenRA is offline
Free Member
 
Join Date: Jan 2003
Location: Illinois, USA
Posts: 73
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by SansGrip
With the new formula one uses minutes-in-movie samples of max-gop-length frames. At the moment that's 24 regardless of frame rate .
This is correct. But to simplify the formula you could use the following.

If frames/second: 23.976
Then formula: Predicted Size = 59.94 * sample size

If frames/second: 25
Then formula: Predicted Size = 62.5 * sample size

If frames/second: 29.97
Then formula: Predicted Size = 74.925 * sample size

These calculations are true as long as you sample 24 frames for every minute of your video (this matches the current GOP length). If you sample 1 second for every minute of your video (ie. 25 samples for 25fps or 30 samples for 29.97fps) then the formula for all framerates would be:
Predicted Size = 60 * sample size

-ARnet_tenRA
Reply With Quote
  #17  
01-08-2003, 11:46 AM
kwag kwag is offline
Free Member
 
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by ARnet_tenRA
These calculations are true as long as you sample 24 frames for every minute of your video (this matches the current GOP length). If you sample 1 second for every minute of your video (ie. 25 samples for 25fps or 30 samples for 29.97fps) then the formula for all framerates would be:
Predicted Size = 60 * sample size

-ARnet_tenRA
You are correct
And as we are always sampling 24 frames per minute, the simplified formula would be Predicted Size = 60 * sample size as you just wrote it above.

That means that all the bull of frames / minutes / 24 is over
Just 800 - audio size / 60 will give you predicted sample size

THANKS
-kwag
Reply With Quote
  #18  
01-08-2003, 11:49 AM
SansGrip SansGrip is offline
Free Member
 
Join Date: Nov 2002
Location: Ontario, Canada
Posts: 1,135
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by kwag
And as we are always sampling 24 frames per minute, the simplified formula would be Predicted Size = 60 * sample size as you just wrote it above.
I believe that's true only when the frame rate is 23.976.
Reply With Quote
  #19  
01-08-2003, 11:58 AM
ARnet_tenRA ARnet_tenRA is offline
Free Member
 
Join Date: Jan 2003
Location: Illinois, USA
Posts: 73
Thanks: 0
Thanked 0 Times in 0 Posts
SansGrip is right. The simplest formula is only correct when the number of frames samples per minute equals the frame rate.

What I do is always sample one second per minute of video. This makes the formula so much easier.

Also, Predicted = (800 - audio size) / 60 You have to remember the parenthesis when subtracting.

-tenra
Reply With Quote
  #20  
01-08-2003, 12:03 PM
kwag kwag is offline
Free Member
 
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by ARnet_tenRA
Also, Predicted = (800 - audio size) / 60 You have to remember the parenthesis when subtracting.

-tenra
Of course , that happens when I'm trying to do about four things at the same time

-kwag
Reply With Quote
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
File size prediction program ? genK Avisynth Scripting 3 05-24-2003 07:21 AM
File Size Prediction For PAL... Jellygoose Avisynth Scripting 8 01-01-2003 09:18 PM
FitCD File Size Prediction Paul0889 Avisynth Scripting 2 12-21-2002 01:03 AM
KVCD: File Size Prediction with FitCD? Jellygoose Video Encoding and Conversion 3 12-17-2002 10:07 AM
TMPGEnc: File size prediction akrein62 Video Encoding and Conversion 0 11-15-2002 10:16 PM

Thread Tools



 
All times are GMT -5. The time now is 02:07 AM  —  vBulletin Jelsoft Enterprises Ltd