With Cluster v2f, we have a unique opportunity for a comparison of 720p B-frame encoding quality. Cluster v2f uses the 720p B-frame quantization Scaling Table that I designed for Flow Motion v2, but with one crucial change to the luma table DC coefficient:
Flow Motion v2: 720p Scaling B=0x707, 0xB0B, 0xB0B, 0xF0F, 0xF0F, 0xF0F, 0x1515, 0x1A1A, 0x1A1A, 0x1515, 0x1A1A, 0x1C1C, 0x1A1A, 0x1C1C, 0x1C1C, 0x1C1C, 0x705, 0x907, 0x907, 0xD0A, 0xA08, 0xD0A, 0x130F, 0x100D, 0x100D, 0x130F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x705, 0x907, 0x907, 0xD0A, 0xA08, 0xD0A, 0x130F, 0x100D, 0x100D, 0x130F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F
Cluster v2f: 720p Scaling B=0x303, 0xB0B, 0xB0B, 0xF0F, 0xF0F, 0xF0F, 0x1515, 0x1A1A, 0x1A1A, 0x1515, 0x1A1A, 0x1C1C, 0x1A1A, 0x1C1C, 0x1C1C, 0x1C1C, 0x705, 0x907, 0x907, 0xD0A, 0xA08, 0xD0A, 0x130F, 0x100D, 0x100D, 0x130F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x705, 0x907, 0x907, 0xD0A, 0xA08, 0xD0A, 0x130F, 0x100D, 0x100D, 0x130F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F, 0x7F7F
Cluster v2f substitutes a luma DC value of 3 for FM2's luma DC value of 7. The effect of this change is to use much finer quantization quality for the DC component in B-frames than for the higher resolution details in each macroblock. However, there is another scaling factor that affects quantization as well: the macroblock QP value selected by the encoder for each frame.
After shooting 720p60 SH mode sample videos using Cluster v2f and Flow Motion v2, I used Stream Parser to examine the range of QP values used in each frame. In the Cluster v2f video, the average QP value was about 34, while in the FM2 video, QP was about 28. The encoder takes these values to index into a table of Q step-sizes, which it then uses to scale up the values found in the quantization Scaling Tables. For the Cluster v2f video, the average Q step-size was about 32.5, while for the FM2 video, it was about 16.25. In simple terms, that means that the values in the Cluster v2f table were scaled to be about twice as coarse as those in the Flow Motion v2 table.
If we scale the 720p B-frame tables proportionally by those QP step-sizes, the effective scaling tables look like this, arranged in 4x4 matrix format:
Cluster v2f
06, 22, 30, 42
22, 30, 52, 52
30, 52, 56, 56
42, 52, 56, 56
Flow Motion v2
07, 11, 15, 21
11, 15, 26, 26
15, 26, 28, 28
21, 26, 28, 28
After this relative scaling, the DC values at the start of each table are nearly the same, while the Cluster v2f values for macroblock details are twice as coarse as those used in Flow Motion v2. To illustrate the effect this has in practice, I cropped 400% frame grabs from my 720p sample videos:
Cluster v2f 720p60 SH mode:
Flow Motion v2 720p60 SH mode:
To put these magnified images in context, here's the uncropped frame grab:
@towi I'd be interested to evaluate the original MTS files that produced your uploaded Stream Parser charts. One comparative difference that stands out is the range of DC values in each QP chart (the second column of numbers from the right). I optimized the Quantization Tables in Flow Motion v2 to produce a tight range of DC values in each GOP - typically 5-7. I believe this is crucial for achieving P and B-frame image quality comparable to I-frames.
GOP3HQ
Here's a new setting aimed at PAL-users shooting 24p (24H), 25p (HBR) and 50i (FSH).
On static scenes the HQ matrix produces pretty large I-Frames. With motion the ratio of I- and B-Frames is comparable to Flowmotion 2. The result of this setting is higher IQ on static scenes while still providing very good motion rendering. All in all the setting looks very similar to Flowmotion 2, however on bright high detailed scenes it may look somewhat cleaner (sharper) than Flowmotion 2. Above all the setting has been stable in all my tests (on SandDisk 30MB/s and faster cards)… whereas Flowmotion 2 may crash under certain extreme conditions. Then again, FloMo2 shows somewhat less chroma noise.
HBRp25 - FloMo2 vs. GOP3HQ, motion (FM2 on the left, HQ on the right):
HBRp25 - QP of the same scene (Flowmotion2 on the left, GOP3HQ on the right):
HBRp25 - QP of FloMo2 vs. GOP3HQ on a static highly detailed daylight scene (Flowmotion2 on the left, GOP3HQ on the right):
Streamparser grab GOP3HQ, 24H, static:
Streamparser grab GOP3HQ, 24H, fast pans:
This setting is really good for 24H, 25p and 50i - try it!
720p50 is not yet ready (it may work fine, though ...)
Testing the GOP3ZILLA standard V2 BETA4. Different file sizes encoded with the best so far (IMHO) software "MainConsept Reference Encoder" from the original file (about variable 85Mbps and 900 MB). Shutter speed 100, variable ND filter. No color correction. Lenses used, Lumix 14-45mm, Canon FD 50mm f/1.4, Olympus 40-140mm f/4-5.6. Just press the "Download" button.
1280x720 24p @ 6Mbps (45ΜΒ) https://www.dropbox.com/s/ebm2hs3nb7j5nsw/GH2__Paraliakos%20720_24p_6Mbps.mp4
1280x720 24p @ 20Mbps (140MB) https://www.dropbox.com/s/zwpi4uzb1gbqbg5/GH2__Paraliakos%20720_24p_20Mbps.mp4
Full HD 1920x1080 24p @ 42Mbps (337MB) https://www.dropbox.com/s/azf27lfwmbtq7qt/GH2__Paraliakos%201080%2024p%2042Mbps.mp4
The setting is certainly not perfect (yet :-) ... ). But I think it's pretty good with regard to motion (at the price of smaller I-Frames, though). Now, it depends on what kind of panning (for instance panning speed) we are talking about. Also, DSLR-type video cameras will always stutter to some extend. Finally, it depends on where you watch the footage... on a standard computer monitor 25p may not look really good. I do have a monitor that runs real 25p (50Hz) and I would say the footage looks quite good. Certainly comparable to LPowell's Flowmotion patch (which is really good anyway, but seems to run in fallback mode quite often on highly detailed scenes shooting HBR/25 ... but according to LPowell an update will be released soon).
yes, maybe it crashes on certain test charts... but I doubt it will fail in real world scenes. I've developed a routine of crash tests and the setting hold up well. Also shooting highly detailed daylight scenes (foliage with fast and slow pans ... which typically crashes unstable settings easily) the setting is stable so far.
You may lower FB2 and FL a bit...:
or:
back to B-Frames...
Here's a new 3GOP (Q18) setting currently only aimed at PAL users (and 24H mode).
It's stable on SanDisk 30MB/s cards (and faster) in 24H, HBR/25p and 720p50 modes.
So far I think it's the best HBR/25p setting (= best compromise between high IQ on static scenes but also suitable for reasonable motion) ...
@jfro - cool! spanning in 24H mode on SanDisk 20MB/s cards sounds good!
@bkmcwd - I don't know much about all these technical details... but as far as my understanding goes I think on a static scene the "Time" graph should show an even bitrate curve (given audio is also constant). Did you try 24H? I think the HQ Matrix shows a really nice noise.
@Manuel_Lopez - yes, PAL modes are not exactly a strength of the GH2 (then again the good old "Sanity V3" patch does a great job in HBR and FSH modes). 24p looks extremely good for such a camera... but of course, if you need 25p, you won't really profit from 24p...
Attached a slightly modified version of the settings (changes only apply to 24p and 720p50).
GOP3 with P-Frames for 24H, HBR/25p and 720p50 (720p50 = GOP6 with IPB frames):
"The reason to experiment with P- instead of B-Frames was the quite poor B-Frame scaling in HBR/25p mode in previous patches."
Thanks for to think in Pal user. I bought the GH2 with the hope of 25p in a future, for me 24p in only a marketing lure.
"the bitrate seems to be pretty constant (unlike GOLGOP13 in HBR/25p mode... which shows a pretty inconsistent bitrate due to the GOP-tables that are required to make the settings stable)"
What is the merit of the bit rate being constant? Although three kinds of frames are used also in the stock firm and the bit rate should not become constant?
@towi I took a few laps for 13 minutes amongst the shrubs in my back yard. In 24 H mode at f9 shutter 50 I was able to span 1 time on a Sandisk 32GB 20 mb/s card. Peaked at 99,595,826 and average was around 71,646,588.
Looks decent and impressed that 24H spanned on the 30mb/s card.
I have much more to look at but if I can reliably keep it going I may do try it on a live night shoot this coming weekend.
@Towi, try gop 2 for 720p pal....
I am playing with those settings, and result are better then expected.
Picture 1 and 2: static scene, only dog is moving, p-frames responds on that movement, i- frame keeps abouth the same value.
Picture 3: P frames responds on the shadow where the dogs are, but i-frames also..
Hi!
The reason to experiment with P- instead of B-Frames was the quite poor B-Frame scaling in HBR/25p mode in previous patches. Motion often does not look really smooth (depending on the actual scene, of course).
With the previous 3GOP patches in HBR mode I, P and B-Frames contribute to the distribution of bitrate... although P-Frames are actually not apparent in the video streams - but "in the background" P-Frames are still used in interlaced modes (FSH/HBR) and affect both I- and B-Frame scaling.
With I- and P-Frames only in 3GOP I was able to effectively switch off B-Frames (in Scaling-Tables and GOP-Tables). This allows a better and more predictibale control over the ratio of I- and P-Frames. In HBR/25 mode I-Frames are not quite as large as in, say, GOLGOP13. But the P-Frames are much larger than the B-Frames. Also, if you look at the screenshots of the streams in "Time" mode the bitrate seems to be pretty constant (unlike GOLGOP13 in HBR/25p mode... which shows a pretty inconsistent bitrate due to the GOP-tables that are required to make the settings stable). The "HQ" Matrix used in this setting visually compensates the somewhat smaller I-Frames... video looks pretty sharp and I also like the look of noise of the HQ Matrix. (please note: this is a modified version of the HQ Matrix - so don't copy it into other settings. B-Frames are switched off in 24p and 1080i modes. I addition in 1080i I use the actual B-Frame scaling table on P-Frames).
So all in all: although GOP3ZILLA and GOLGOP13 work pretty well in HBR/25p mode I felt there is still room for improvement (especially regarding motion). This new setting needs more testing but I feel motion looks smoother and static scenes still look pretty sharp. As to 24p: I-Frames are really large, so possibly there might be an improvement, too?
Right now I consider this an "experimental" setting... I have to test much more under different shooting scenarios. However I thought I'd share it so that other users may test it as well.
Here's a 3GOP setting with P-Frames for 24H, HBR/25p and 720p50 (6GOP with IPB frames) only.
720p50 still needs some improvement, however I think it already looks pretty good in use.
What do you guys think about the setting?
You are welcome! :-) Since I released new settings again, please try. http://www.personal-view.com/talks/discussion/comment/59682#Comment_59682
It looks like you're new here. If you want to get involved, click one of these buttons!