Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > High Efficiency Video Coding (HEVC)
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th January 2014, 09:12   #1  |  Link
mandarinka
Registered User
 
mandarinka's Avatar
 
Join Date: Jan 2007
Posts: 729
Kvazaar HEVC encoder - academic project from Technical University of Tampere [GPL]

http://ultravideo.cs.tut.fi/#encoder
https://github.com/ultravideo/kvazaar

This encoder seems to have been released yesterday (the github repository goes years back though). From a glance it seems less feature-complete than x265 and I don't know if it is based on HM like it - probably not since it claims to be written in C /YASM for assembly I guess/.

If somebody is curious, the first link has even windows builds for testing (didn't try). There is also a feature roadmap.

Supported platforms are Windows and Linux, code is licensed under GNU GPLv2.

Edit: ugh, I got the name of the university mixed up, it is Tampere University of Technology. Sorry.

Last edited by mandarinka; 30th January 2014 at 09:14.
mandarinka is offline   Reply With Quote
Old 30th January 2014, 21:30   #2  |  Link
xooyoozoo
Registered User
 
Join Date: Dec 2012
Posts: 197
It seems to be an academic project with a very conservative timeline. B-frames won't come for another several months, and it'd be a year before we get parallel processing...

The more the merrier, but between a reasonably exhaustive reference implementation (HM) and a reasonably practical real-world encoder (x265), I don't see why a license-compatible encoder wouldn't have started with a stronger foundation.
xooyoozoo is offline   Reply With Quote
Old 30th January 2014, 22:16   #3  |  Link
Daemon404
Registered User
 
Join Date: Mar 2005
Posts: 128
Quote:
Originally Posted by xooyoozoo View Post
The more the merrier, but between a reasonably exhaustive reference implementation (HM) and a reasonably practical real-world encoder (x265), I don't see why a license-compatible encoder wouldn't have started with a stronger foundation.
I don't think I would call x265 a "reasonably practical real-world encoder" -- it looks visually crappy still.

Competition is good, especially one written from scratch, that isn't just another HM fork.

The more the merrier, may the best "win".
Daemon404 is offline   Reply With Quote
Old 8th February 2014, 17:20   #4  |  Link
Procrastinating
Registered User
 
Procrastinating's Avatar
 
Join Date: Aug 2013
Posts: 71
Quote:
v0.2.1

Intra frame period added as a command line option (-p).
Stdin support (give dash as input filename). (thanks @jeeb)
New unit test framework.
Replaced broken x86 cpuid asm implementation with a single implementation for both x86 and x64 using x264asm abstraction layer. We will be using x264asm for asm from now on.
Fixed Makefile to give correct build options for Mac and 32-bit Linux. (thanks @dirk and @rmustacc)
Fixed a small per frame memory leak.
Quality and bitrate improvements.
Merged a branch for changes related to intra 4x4 prediction block coding that isn't in use yet but fixed something resulting in improved quality.
Fixed bug in intra mode search resulting in increased intra quality.
Fixed CU split cost calculation, resulting in decreased bitrate.

We measured a cumulative average decrease in bitrate for a given quality (BD-rate) of 15% in LP configuration from v0.2.0 to v0.2.1. Although that was with a limited test set of just one 600 frame video.
With Stdin Support, Kvazaar should be functional now. It could be interesting to compare this to older versions of x265.
Procrastinating is offline   Reply With Quote
Old 19th February 2014, 08:13   #5  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Does anyone know why MP4Box crashes when fed with the output of Kvazaar? (mkvmerge from ROVI and newer tsMuxeR versions work fine)
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 19th February 2014, 08:52   #6  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Dunno but did you drop a bug report to the gpac developers ? Did you test with l-smash muxer ?
Kurtnoise is offline   Reply With Quote
Old 19th February 2014, 16:19   #7  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Quote:
Dunno but did you drop a bug report to the gpac developers ?
yes -> http://sourceforge.net/p/gpac/bugs/303/ (16 days ago)
Quote:
Did you test with l-smash muxer ?
No.
a. didn't know l-smash muxer does support hevc
b. not sure where to find a current l-smash muxer binary
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 19th February 2014, 17:15   #8  |  Link
JEEB
もこたんインしたお!
 
JEEB's Avatar
 
Join Date: Jan 2008
Location: Finland / Japan
Posts: 512
L-SMASH has supported 14496-15 3rd edition HEVC muxing from quite some time ago, but it is currently disabled for the CLI because the standard still isn't officially out (it got into FDIS ballot last week, so we will finally see it officially out in April, as the FDIS ballot takes two weeks). If you use the library, you've been able to use it just fine.

I have made a pull request for enabling muxing here, as FDIS ballot starting means that there cannot be any technical changes in this version of the specification. One also has to note that the configurationVersion has to be updated as well, which is done in the pull request's commit as well.

You can have a current L-SMASH tools build with that pull request's commit merged here.
__________________
[I'm human, no debug]
JEEB is offline   Reply With Quote
Old 19th February 2014, 17:21   #9  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Thanks JEEB!
Tested with the muxer you linked and L-SMASH also has no problem with Kvazaars output.
-> so only tool which fumbles seems to be MP4Box
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 19th February 2014, 21:00   #10  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
got fixed! Muxing works with latest Mp4Box (rev5092)
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 15th March 2014, 08:55   #11  |  Link
Shevach
Video compressionist
 
Join Date: Jun 2009
Location: Israel
Posts: 126
In HM there is an option ('-m') enable user to provide his own QP (actually QP delta) to each frame.
Is it or will this option available in Kvazaar?
Shevach is offline   Reply With Quote
Old 15th March 2014, 09:44   #12  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,277
Nope.
These are the user exposed options atm. :
Code:
/***********************************************/
 *   Kvazaar HEVC Encoder v. 0.3.0             *
 *     Tampere University of Technology 2014   *
/***********************************************/

Usage:
kvazaar -i <input> --input-res <width>x<height> -o <output>

Optional parameters:
      -n, --frames <integer>     : Number of frames to code [all]
      --seek <integer>           : First frame to code [0]
      --input-res <int>x<int>    : Input resolution (width x height)
      -q, --qp <integer>         : Quantization Parameter [32]
      -p, --period <integer>     : Period of intra pictures [0]
                                     0: only first picture is intra
                                     1: all pictures are intra
                                     2-N: every Nth picture is intra
      -r, --ref <integer>        : Reference frames, range 1..15 [3]
          --no-deblock           : Disable deblocking filter
          --deblock <beta:tc>    : Deblocking filter parameters
                                   beta and tc range is -6..6 [0:0]
          --no-sao               : Disable sample adaptive offset
          --no-rdoq              : Disable RDO quantiztion
          --aud                  : Use access unit delimiters
          --cqmfile <string>     : Custom Quantization Matrices from a file
          --debug <string>       : Output encoders reconstruction.

  Video Usability Information:
          --sar <width:height>   : Specify Sample Aspect Ratio
          --overscan <string>    : Specify crop overscan setting ["undef"]
                                     - undef, show, crop
          --videoformat <string> : Specify video format ["undef"]
                                     - component, pal, ntsc, secam, mac, undef
          --range <string>       : Specify color range ["tv"]
                                     - tv, pc
          --colorprim <string>   : Specify color primaries ["undef"]
                                     - undef, bt709, bt470m, bt470bg,
                                       smpte170m, smpte240m, film, bt2020
          --transfer <string>    : Specify transfer characteristics ["undef"]
                                     - undef, bt709, bt470m, bt470bg,
                                       smpte170m, smpte240m, linear, log100,
                                       log316, iec61966-2-4, bt1361e,
                                       iec61966-2-1, bt2020-10, bt2020-12
          --colormatrix <string> : Specify color matrix setting ["undef"]
                                     - undef, bt709, fcc, bt470bg, smpte170m,
                                       smpte240m, GBR, YCgCo, bt2020nc, bt2020c
          --chromaloc <integer>  : Specify chroma sample location (0 to 5) [0]

  Deprecated parameters: (might be removed at some point)
     Use --input-res:
       -w, --width               : Width of input in pixels
       -h, --height              : Height of input in pixels
May be they will add something similar to x264s qp-files in the future, if you make a feature request in their bug tracker.

Cu Selur
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 10th September 2019, 17:37   #13  |  Link
ReinerSchweinlin
Registered User
 
Join Date: Oct 2001
Posts: 454
There is not much talk about this encoder, it seems.
In the beginning, it claimed to have much better scaling capability over x265 when using many cores. So this could be interesting with the newer CPUs where x265 can't saturate all the cores.
I have been looking around for some benchmarks, comparisons or Encoding GUIs using this encoder - no luck.
Does anyone have more recent informations about this encoder, any experience with it?
ReinerSchweinlin is offline   Reply With Quote
Old 10th September 2019, 17:51   #14  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,771
Quote:
Originally Posted by ReinerSchweinlin View Post
There is not much talk about this encoder, it seems.
In the beginning, it claimed to have much better scaling capability over x265 when using many cores. So this could be interesting with the newer CPUs where x265 can't saturate all the cores.
I have been looking around for some benchmarks, comparisons or Encoding GUIs using this encoder - no luck.
Does anyone have more recent informations about this encoder, any experience with it?
x265 has gotten a lot better in scaling since then, and a lot faster in general. And with the Intel SVT integration, even more scaling is now available.

And encoder that hasn't seen substantial development since the commercial launch of HEVC content and services is unlikely to be competitive in any fashion by this point. >90% of HEVC encoder development has taken place since then.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 10th September 2019, 18:09   #15  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,771
...although I just looked at the GitHub, and there have been at least some checkins since then. Not sure how material they are.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 10th September 2019, 18:12   #16  |  Link
ReinerSchweinlin
Registered User
 
Join Date: Oct 2001
Posts: 454
Ben, thank you for the quick answer!
Is the SVT Integration activated by default in x265? I have a dual socket Xeon machine with 2 x 6 Cores (24 threads), in 1080p encodes only about 6 cores are used..

Edit: Found something. As far as I understand, SVT can be enabled, but itīs not simply a "tuneup" for x265, but a seperate encoder, primed for real-time encoding. So enabling SVT wonīt give me the same results in x265 quality vise. Do I get it right? Thanx for your help

Last edited by ReinerSchweinlin; 10th September 2019 at 19:03.
ReinerSchweinlin is offline   Reply With Quote
Old 14th September 2019, 10:39   #17  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,989
That is correct.

You should be able to saturate all those cores with x265 if you're using slow enough settings
Blue_MiSfit is offline   Reply With Quote
Old 4th October 2019, 19:50   #18  |  Link
Arizer
Ex Kvazaar Developer
 
Join Date: Sep 2019
Posts: 1
Hi, Kvazaar developer here. I can confirm that we are not done with Kvazaar

Rate of progress can be sometimes a bit varying but we have improved Kvazaar a lot during the past months. New preset tables, significant optimizations and algorithms are work-in-progress.

I'm afraid not many 3rd party comparisons (that are not out of date by now) exist. Our own comparisons are available online mostly as conference proceedings (IEEE and ACM). IEEE Xplore for example has many of our papers. The research papers have been mostly about all-intra coding so far, but inter coding papers are on their way.
Arizer is offline   Reply With Quote
Old 23rd October 2019, 00:00   #19  |  Link
ReinerSchweinlin
Registered User
 
Join Date: Oct 2001
Posts: 454
Blue_MiSfit. thank you for confirming
ReinerSchweinlin is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 22:38.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.