Review: V-Nova Perseus: Does its Compression Live Up to the Hype?
V-Nova launched its compression technology, Perseus, on April Fools’ Day 2015, claiming “2x–3x average compression gains, at all quality levels, under practical real-time operating scenarios versus H.264, HEVC and JPEG2000.” The timing and the claims certainly raised some eyebrows among the compression cognoscenti, placing a big fat target on V-Nova’s back.
Roughly 12 months later, V-Nova has delivered on some of these claims. But more importantly, it has staked out a unique value proposition (UVP) validated with trophy client Sky Italia. That UVP enables IPTV distributors to deliver Perseus-encoded video at significantly reduced bandwidths compared with H.264 without replacing their encoding facilities or set-top boxes.
As announced in April of this year, software updates enabled Sky Italia’s Harmonic ViBE VS7000 video encoders to output Perseus-encoded video and its set-top boxes to decode that video. Deploying Perseus allowed Sky Italia to reduce its average HD bitrate from 8Mbps to 4Mbps, cutting bandwidth costs and allowing Sky to extend the reach of its service by distributing HD video to customers on slower connections.
At the other end of the quality spectrum, Indian movie distributor FastFilmz announced that it is using Perseus to deliver ultra-low-bandwidth video to Android-based mobile devices in India. This agreement highlights Perseus’ low-bitrate quality and the ability to decode on low-end Android devices typical of the Indian market.
Beyond these distribution-oriented deals are V-Nova’s contribution products, which have been deployed by multiple vendors for several years. Clearly, Perseus is more than a bad April Fools’ joke, and it’s time to take a closer look. In this article, I’ll describe how the technology works, discuss implementation details such as encoding/decoding and file formats, and detail the results of my quality and decoding complexity tests. But there are two caveats.
First, full disclosure: With the approval of my editor, V-Nova flew me to Milan to meet with Sky in Italy, and then to V-Nova’s offices in London to meet with the company’s staff and take a closer look at the technology, paying all expenses.
Second, and more important, I wasn’t able to encode with Perseus technology or decode on as many platforms as I would have liked to. V-Nova’s internal decoder is a complicated command-line implementation that the company was reluctant to share, and there were no commercial video-on-demand (VOD) encoders available for testing while I was writing this piece (though some should be available by the time you read this). Instead, for the tests herein, V-Nova encoded three standard test files to several 1920p configurations, and I matched those encodes with H.264 and HEVC equivalents in my office. I was able to decode on a single Android tablet and on a Linux-based NUC computer that I carried back from London, but not on a Windows or Mac computer. So let’s agree that this is a preliminary look, and I’ll be careful to detail as many assumptions and test details as possible so you can draw your own conclusions from the data.
At a high level, most video codecs encode frames by dividing the frame into blocks and squeezing data from these blocks as necessary to meet the target data rate. This causes the blocky artifacts we’ve all seen on streaming video and fringe cable and satellite channels. Perseus processes each frame at multiple resolutions, encoding the lower levels first and then adding detail as necessary for the higher resolutions. As we’ll see, this schema avoids the blockiness inherent to H.264, MPEG-2, and HEVC. Perseus tends to blur at aggressive encoding configurations.
There are two flavors of Perseus: pure and hybrid. Pure Perseus uses only the Perseus algorithm throughout, and it is used in V-Nova’s contribution encoders, which I’m not going to discuss. Hybrid Perseus, which is for distribution, combines Perseus with other compression technologies, such as H.264. For example, hybrid Perseus can use a 960x540 H.264-encoded stream as one of the lower levels and then build additional levels of detail to full 1920x1080 resolution using only the Perseus codec. This technique has several key benefits.
First, because of how the data is packed in the file (more later), a player such as QuickTime can play the lower resolution H.264 file. Figure 1 shows QuickTime Player playing a 960x540 H.264 file, which is actually a lower-resolution layer in a 1080p-encoded Perseus file. This allows operators to distribute a single file with two decode resolutions depending upon the installed player.
Figure 1. QuickTime Player is playing the 960x540 file that serves as a lower level in a 1080p-encoded Perseus file.
The second benefit is that if H.264 playback is GPU-accelerated on the playback platform, Perseus can access that hardware acceleration for the H.264 layer. On the Android tablet that I tested, this allowed Perseus-encoded files to decode at less than 50 percent of the CPU levels required for HEVC. In essence, this particular capability is what makes Perseus decode possible on the inexpensive Android devices targeted by fastfilmz, as well as inexpensive H.264-based set-top boxes. It is a feature that HEVC simply can’t match.
Note that the H.264 layer accounts for between 70 percent and 80 percent of the total file bitrate of a hybrid Perseus-encoded file. Accordingly, if a higher-quality codec such as HEVC was used for the base layer, the quality and/or efficiency of the Perseus file would improve as well. While V-Nova has proven this concept internally, there are currently no commercial encoders capable of outputting hybrid Perseus videos with HEVC as the base layer. According to the company, this is because V-Nova’s primary focus has been on the H.264 retrofit market, not competition with HEVC. Once HEVC deployments become more commonplace, the company will work with compatible encoder vendors to produce hybrid HEVC/Perseus files.
This hybrid technology, shown in Figure 2, explains why it’s so simple to add Perseus encoding to an existing encoder. Basically, it’s a plug-in that sits on top of the encoder, receiving the lower resolution H.264-encoded video and adding the Perseus layers. V-Nova has integrations with Thomson, NTT DATA, and Imagine Communications, as well as several other encoder vendors. On the decode side, it’s the same schema: The native player decodes the H.264 video and hands it off to the Perseus plug-in to process the additional layers. In addition to VisualOn, whose Android player I tested, V-Nova has worked with Wyplay, which performed the set-top box integration for Sky in Italy. V-Nova offers encoder and decoder software development kits to enable this third-party development.
Figure 2. The Perseus OTT implementation requires little capex.
Completing the picture, the Perseus-enabled encoder creates a standard MPEG-4 elementary stream with the Perseus enhancement layer packed into the stream as supplementary enhancement information (SEI), or it creates an MPEG-2 transport stream with the Perseus layer included as a separate component. In either case, if the player knows what to do with the data, it decodes it; otherwise, it ignores it.
By working with standards-based formats and encoder and decoder plug-ins, Perseus is relatively simple to implement. I spoke with Dominic Charles, joint-CEO and co-founder of fastfilmz, when I was in London. To take care of encoding and decoding, he made two phone calls—one to NTT DATA for encoding, the other to VisualOn for the Android decoder. This freed him to focus on mission-critical tasks such as sourcing his content and planning marketing and distribution.
Evaluating the Perseus Codec
Of course, just because a codec is easy to implement doesn’t mean you should use it. Let’s turn to the qualitative and performance evaluations, starting with quality.
Every compressionist fantasizes about discovering the perfect configuration option, but our columnist learns that some results are too good to be true.
Hybrid Perseus is now using HEVC as the base layer, and V-Nova is working on adding inter-frame compression to the codec.
In this session, learn if and how H.265 compression and deployment options can be used in typical online streaming workflows, and, more importantly, if your target audiences can benefit.
Flash or Silverlight? Adaptive streaming or regular? This guide helps you choose your target platforms for video delivery and then configure the streams yourself.
Companies and Suppliers Mentioned