Settings
the following matrices were tested against h.263:
very low bitrate hvs_good hvs_better hvs_best mpeg
For this comparison some scenes from the movie The Matrix were used, with about 5mins overall duration
The clip was encoded with a target bitrate of 650kbps (which is the bitrate an old full 1CDR encode used for these scenes)
the following Avisynth Script was used for all encodes in this test:
LoadPlugin("C:\path to\mpegdecoder.dll")
mpegsource("C:\path to\matrix.d2v")
trim(136757,143873)
crop(2,80,716,418)
LanczosResize(640,256)
Apart from the changed matrices the following settings were used in all encodes (if unspecified, defaults were used):
Profile @ Level: AS @ L5 Quarter Pixel Global Motion Compensation B-frames: 2 / 1.5 / 1 / 0 (sensitivity) - not packed bitstream Motion Search Precision: 6 Chroma Motion VHQ 4 Trellis Quantisation
Results
I closely tested the following 7 different subscenes:
1) still scene, with flat background (wall) and cable 2) face close-up (dark) 3) face close-up (bright) 4) still foreground with fast moving background (the sample which prooves that xvid is one of the best codecs out there) 5) another close-up with flat background (wall) 6) high-motion artifacts test 7) high-motion detail preservation test
All frames shown here are losslessly compressed with PNG and were captured in VirtualDubMod
The name of the used matrix and comments are placed below each frame
h.263 clearly shows the least details here, as good as no artifacts around morpheus and the cable
very low bitrate shows little more details than h.263, but also has the most visible artifacts around the cable
hvs_good shows the most details, but also its typical "dirty image" (especially when used with qpel), which i dont like
hvs_better shows less details than hvs_good and hvs_best, less artifacts around the cable than hvs_good, but more than hvs_best, not dirty
hvs_best shows little less details than hvs_good, but still enough; no real problems with artifacts, not dirty
mpeg is sharpnesswise on par with hvs_best (on some parts best is sharper on some mpeg), little bit more artifacts as hvs_best, not dirty
h.263 shows the least details
very low bitrate shows more details than hvs_good on the forehead, but less on the rest
hvs_good shows less details than the "high bitrate matrices", especially on the forehead and shoulder
hvs_better shows clearly the most details
hvs_best shows more details than mpeg, especially on the forehead and shoulder
mpeg is beaten by hvs_best and hvs_better
h.263 shows clearly the worst quality
very low bitrate shows more details than h.263, but less than hvs_better
hvs_good shows a lot of details on most parts, but smooths out very strongly some others (eyes, chin)
hvs_better shows few details
hvs_best shows on some parts less details than hvs_good (hair, shoulder), but overall more
mpeg shows less details than hvs_good and hvs_best (hair, ugly chin), more details than hvs_better
h.263 shows more details than hvs_good on the coat, but not in the face/hair
very low bitrate shows more details than h.263 on the coat, but less in the face/hair
hvs_good shows less details than hvs_better
hvs_better shows little less details than mpeg, but doesnt show any artifacts (not in or in front of the face)
hvs_best shows less details than hvs_better, but more than hvs_good
mpeg shows more details than hvs_better and hvs_best (hair, coat), small artifacts in front of the face
h.263 shows more details than hvs_good, but also a block on the wall (left from the door)
very low bitrate shows more details than h.263 and hvs_good
hvs_good shows the least details
hvs_better shows less details than mpeg, and shows a little blockiness on the wall (left from the door), like hvs_best too
hvs_best shows the most details, but shows the same block on the wall like hvs_better
mpeg shows little less details than hvs_best, but more than hvs_better and doesnt show the block on the wall
h.263 shows the least artifacts
very low bitrate shows little less artifacts than mpeg
hvs_good shows little less artifacts than hvs_best, but more than very low bitrate and mpeg
hvs_better shows the worst artifacts
hvs_best shows less artifacts than hvs_better, but more than hvs_good
mpeg shows less artifacts than the hvs matrices
h.263 shows clearly more details than very low bitrate and mpeg
very low bitrate shows the least details
hvs_good shows little less details than hvs_better and hvs_best, but more than mpeg, h.263 and very low bitrate
hvs_better shows little more details than hvs_best
hvs_best lies in between hvs_good and hvs_better
mpeg shows far less details than all hvs matrices
Conclusion
first of all i want to say is that its surely the best if you also try to compare the samples on your own too. often there are cases, like "hvs_good dirty picture", "face vs. body" or "details vs. blocks", where its simply a matter of taste, which picture someone prefers
the second point is that this test pretty much shows, that the quality can fluctuate very strongly inside each encode
altough i know that its not a perfect solution i will try to subjectively rank the matrices according to their quality output:
sample 1 (still, wall, cable): hvs_best > mpeg > hvs_better > hvs_good > real low bitrate > h.263 sample 2 (dark close-up): hvs_better > hvs_best > mpeg > real low bitrate > hvs_good > h.263 sample 3 (bright close-up): hvs_best > hvs_good > mpeg > hvs_better > real low bitrate > h.263 sample 4 (still foreground, fast background): mpeg > hvs_better > hvs_best > hvs_good > h.263 > very low bitrate sample 5 (close-up, wall): hvs_best > mpeg > hvs_better > very low bitrate > h.263 > hvs_good sample 6 (high-motion artifacts): h.263 > very low bitrate > mpeg > hvs_good > hvs_best > hvs_better sample 7 (high motion details): hvs_better > hvs_best > hvs_good > h.263 > mpeg > very low bitrate overall average: hvs_best > mpeg > hvs_better > hvs_good > very low bitrate > h.263
coming to the end i want to say that custom matrics are really a very powerful tool in video compression and can influence the output very strongly! its really important to explore all the possibilites they offer