By this article, we are starting our series VQ Analyzer (Video Codec Analyzer) Guided Tour! Where we will describe some very interesting but not obvious features of our video bitstream analyzer.
VQ Analyzer Summer Release ver 4.1
Today we are glad to releas new version 4.1 of VQ Analyzer. The major changes you may see in Release notes below.
VQ Analyzer 2019
The VQ Analyzer is a graphical coded video bitstream analysis tool, supporting the following coding standards:
- HEVC: (ISO/IEC 23008-2 MPEG-H Part 2 or ITU-T H.265) , 8/10-bit
- HEVC: RExt extension, 8/10/12-bit, 4:0:0/4:2:0/4:2:2/4:4:4
- HEVC: SCC extension, conform to HM + SCM 8.6 in reference code
- HEVC Scalable/Multiview Extension
- AV1, SHA-1 (Version 1.0.0 Errata.1): add4b15580e410c00c927ee366fa65545045a5d9
- Googles VP9, profiles 0,1,2,3, 4:2:0/4:2:2/4:4:0/4:4:4, 8/10/12-bit
- AVC: (H.264/AVC, ISO/IEC 14496-10, MPEG-4 Part 10), except SVC/MVC
- MPEG2 (ISO/IEC 13818-2 Part 2), 4:2:0/4:2:2, 8-bit
- MKV container
- MP4 container
- MPEG2 TS/PS container
- AVI container
- Mpeg Media Transport container (ARIB STD-B60 1.0)
Once a bitstream is loaded, the tool allows the user to inspect each major step of the decode process visually and numerically, and the structure of the coded image can be explored. This data can be used as a visual reference when learning about HEVC/VP9/AVC/MPEG2/AV1 or when debugging a particular encoder or decoder.
- GUI (Syntax Elements Widget):
- Add search box to find syntax element by name.
- Hide/Show columns from context menu.
- GUI (Stats Widget)
- Save/restore stat's state on exit/start of application.
- Add "Reference Info" panel.
- Details mode: keep pixel position after switching of mode.
- Add new stats ("Block size by pred": intra/inter; "Partition", "Luma Angle delta by mode", "Chroma Angle delta by mode")
- Add segments overlay map. Allow to hide segments info at coding flow.
- Add new overlay maps ("Prediction Type": intra/inter/palette/obmc/etc, "Coeff Bits", "MV Bits").
- Improve performance and reduce memory usage.
- Thumbnails: Add display frames filtering.
- Improve performance: implement new multithreading scheme.
- Add "PU sizes" stats.
- Add Reference and Low-delay flags at stats.
- Add new console option for dumping syntax elements statistics ("-syntax_stats" option).
- Add new console option for extracting sub stream ("-extract", i.e. "-extract gops" - for splitting stream into gops' substreams).
- Output motion vectors stream's stats.
- AV1: Fix extraction of sub stream from "Obu" tab and thumbnails' context menu.
- 1GB RAM minimum, 4GB recommended when loading 4K pictures.
Software - Microsoft* Windows* 7, Microsoft* Windows* 8, Microsoft* Windows* 8.1, Microsoft* Windows* 10, 32-bit/64-bit. - Ubuntu* Linux* 16.04 and higher, SLES* 12 and higher, CentOS* 7.4 and higher - MacOS* 10.12 and higher
content: VQ Analyzer Release Notes (this file), VQ Analyzer User Guide, licenses, binary executables, tools internal and third-party binaries.
To begin installation: - Double-click on the executable file to begin installation.
Activation during installation You must activate the product to finish installation. Use one of these methods: - Activation using serial number. Internet connection is required; - Remote activation using serial number. Used when your computer is not connected to the internet. You can use another computer with internet access; - Activation using license file; - Activation using license server. - You can also evaluate the product for trial period.
If you have problems with installation under MacOS*, please, check System Preferences -> Security & Privacy options under "Allow apps downloaded from:". The option "Mac App Store and identified developers" should be checked.
The VQ Analyzer has the following known limitations: - Supported containers for AV1/VP9 are IVF and WebM (MKV) only. - AVC/HEVC HRD buffer fullness uses only Type II bitstream for visualization. - Archive yuv files (.zip, gz) fully unpacked in memory currently, huge files could require a lot of memory. - For zip files only first file in archive is considered to be used as compressed yuv file. Only deflate and store compression methods are supported. - Archived y4m files are not supported yet. - AVC decoding does not support gaps in frame_num and slice groups currently.
AV1 limitations: - Memory consumption can be high on 4K resolutions.
HEVC Conformance checks: - Bitstream conformance to active profile, tier and level representation and HRD parameters is tested on general representation only. (PTL syntax elements with prefix general_) - Bitstream conformance to HRD parameters is tested using VUI parameters specified in active SPS only. For Intra only profiles picture reordering is not tested. - Common Multilayer HEVC: external base layer configurations are not supported. - HEVC Slice data errors: bitstream restrictions specified SPS VUI or VPS VUI parameters are not supported.
HEVC Decoder behavior: - For Range extensions, High throughput and ScreenExtended (SCC) profiles in order to detect sub-profile (e.g. Monochrome, Main 444 12bit, ¦) bitstream constraint flags, coded in PTL, must be set according to the tables specified in clause A.3 of the spec. - For Still Picture profiles test for number of pictures present in bitstream is applied to whole bitstream file. - For Screen-Extended (SCC) profiles in order to detect these profiles, general_profile_idc must be set to 31 or general_compatibility_flag must be set to 1. (same as of HM16.16+SCC8.5) (Will be changed to 9 (according to spec) in future releases) - Multilayer bitstreams are decoded with highest available index of Layer Set (TargetOlsIdx is set to NumOutputLayerSets 1). All available layers will be output. - Different layers in Multiview HEVC stream must have the same resolution and chroma format for inter-layer prediction. (Configurations with different chroma format or resolution are still decodable, but resampling process for inter-layer prediction will be invoked in that cases) - SCC extensions presence in bitstream is tested on both position 3 and 6 of sps_extension_bit and pps_extension_bit.
Qt licensed under the GNU Lesser General Public License (LGPL) version 2.1. It is appropriate for the development of Qt applications provided you can comply with the terms and conditions of the GNU LGPL version 2.1. For details, please refer to http://qt-project.org/doc/qt-5/licensing.html for specific details.
zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.8, April 28th, 2013
Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
- This notice may not be removed or altered from any source distribution.
Qwt License Version 1.0, January 1, 2003 The Qwt library and included programs are provided under the terms of the GNU LESSER GENERAL PUBLIC LICENSE (LGPL) with the following exceptions: 1. Widgets that are subclassed from Qwt widgets do not constitute a derivative work. 2. Static linking of applications and widgets to the Qwt library does not constitute a derivative work and does not require the author to provide source code for the application or widget, use the shared Qwt libraries, or link their applications or widgets against a user-supplied version of Qwt. If you link the application or widget to a modified version of Qwt, then the changes to Qwt must be provided under the terms of the LGPL in sections 1, 2, and 4. 3. You do not have to provide a copy of the Qwt license with programs that are linked to the Qwt library, nor do you have to identify the Qwt license in your program or documentation as required by section 6 of the LGPL. However, programs must still identify their use of Qwt. The following example statement can be included in user documentation to satisfy this requirement: [program/widget] is based in part on the work of the Qwt project http://qwt.sf.net
ViCue Soft Joins the Alliance for Open Media
The Alliance for Open Media (AOMedia) today announced that ViCue Soft, a developer of professional software tools to make video codec development easier, has joined as a Promoter Member.
AOMedia is a nonprofit organization formed by leading internet and media technology companies to define and develop open standards for media compression and delivery over the web.
As an AOMedia member, ViCue Soft joins the ranks of fellow board members Amazon, ARM, Cisco, Facebook, Google, IBM, Intel, Microsoft, Mozilla, Netflix, NVIDIA and others.
"We are enthusiastic about joining AOMedia, where we can promote the adoption of AV1 alongside our own goal of helping video codec developers save time and money creating standards-compliant and optimized video products. We look forward to working with AOMedia members to open up new possibilities to use royalty-free, cross-platform, online AV1 video to enhance streaming experiences," said Alexey Fadeev, ViCue Soft CEO.
The availability of AV1, AOMedias open-source codec, is a significant milestone. AV1 enables more screens to display the vivid images, deeper colors, brighter highlights, darker shadows and other enhanced UHD imaging features that consumers and businesses have come to expect all while using less data.
"Were excited to welcome ViCue Soft to the Alliance for Open Media, reflecting our joint commitment to leverage how AV1 improves streaming media in new and cutting-edge ways," said Matt Frost, AOMedia vice president of communications and membership, and director at Google. "We look forward to collaborating with ViCue Soft toward our goal to increase openness and interoperability of internet video."
Designed at the outset for hardware optimization, the AV1 specification, reference code, and bindings are available for tool makers and developers to download here to begin designing AV1 into products. Specifically, the release of AV1 includes:
Bitstream specification to enable the next generation of silicon Unoptimized, experimental software decoder and encoder to create and consume the bitstream Reference streams for product validation Binding specifications to allow content creation and streaming tools for user-generated and commercial video
About the Alliance for Open Media. Launched in 2015, the Alliance for Open Media (AOMedia) was formed to define and develop media technologies to address marketplace demand for an open standard for video compression and delivery over the web. Board-level, Founding Members include Amazon, Apple, Arm, Cisco, Facebook, Google, IBM, Intel, Microsoft, Mozilla, Netflix, NVIDIA and Samsung Electronics. AOMedias next-generation royalty-free video codec, AV1, is optimized for internet delivery and scalable to any modern device at any bandwidth. Visit www.aomedia.org or follow AOMedia on Twitter at @a4omedia.
This year ViCue Soft is taking part at NAB Show 2019. We will be glad to see our current and potential customers and partners at the Booth SU11516.
We will present a range of our products and services such as a mature VQ Analyzer (video bitstream analyzer) and VQ Decoder Validation Kit as well as our new VQ content detector service.