TwinVQ

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

TwinVQ (transform-domain weighted interleave vector quantization) is an audio compression technique developed by Nippon Telegraph and Telephone Corporation (NTT) Human Interface Laboratories (now Cyber Space Laboratories) in 1994.[1][2][3][4] The compression technique has been used in both standardized and proprietary designs.

TwinVQ in MPEG-4

In the context of the MPEG-4 Audio (MPEG-4 Part 3), TwinVQ is an audio codec optimized for audio coding at ultra low bitrates around 8 kbit/s.

TwinVQ is one of the object types defined in MPEG-4 Audio, published as subpart 4 of ISO/IEC 14496-3 (for the first time in 1999 - a.k.a. MPEG-4 Audio version 1).[5][6][7][8][9] This object type is based on a general audio transform coding scheme which is integrated with the AAC coding frame work, a spectral flattening module, and a weighted interleave vector quantization module. This scheme reportedly has high coding gain for low bit rate and potential robustness against channel errors and packet loss, since it does not use any variable length coding and adaptive bit allocation. It supports bitrate scalability, both by means of layered TwinVQ coding and in combination with the scalable AAC.

Note that some commercialized products such as Metasound (Voxware),[10][11] SoundVQ (Yamaha),[12][13][14] and SolidAudio (Hagiwara) are also based on the TwinVQ technology, but the configurations are different from the MPEG-4 TwinVQ.[6]

TwinVQ as a proprietary audio format

A proprietary audio compression format called TwinVQ was developed by Nippon Telegraph and Telephone Corporation (NTT) (in NTT's Human Interface Laboratories)[15][16] and marketed by Yamaha under the name SoundVQ.[13] The NTT also offered a TwinVQ demonstration software for non-commercial purposes - NTT TwinVQ Encoder and TwinVQ Player, encoder API, decoder API and header file format.[17][18] The filename extension is .vqf.

TwinVQ uses Twin vector quantization. The proprietary TwinVQ codec supports constant bit rate encoding at 80, 96, 112, 128, 160 and 192 kbit/s. It was claimed that TwinVQ files are about 30 to 35% smaller than MP3 files of adequate quality. For example, a 96 kbit/s TwinVQ file allegedly has roughly the same quality as a 128 kbit/s MP3 file. The higher quality is achieved at the cost of higher processor usage.

Yamaha marketed TwinVQ as an alternative to MP3, but the format never became very popular. This could be attributed to the proprietary nature of the format—third party software was scarce and there was no hardware support. Also the encoding was extremely slow and there was not much music available in TwinVQ format. As other MP3 alternatives emerged, TwinVQ quickly became obsolete.

The proprietary version of TwinVQ can be also used for speech encoding. Compression technology specifically designed to handle voice compression was published by NTT. The NTT TwinVQ implementation supported sampling frequencies from 8 kHz or 11.025 kHz and bit rate from 8 kbit/s.[14][19][20][21][22]

Software support

Official

NTT in Japan is said to have once offered (on its website) a player/encoder for download (citation needed). This was not as successful as the Yamaha version (see below) and, nowadays, is almost impossible to find (citation needed).

Yamaha released an English player application called SoundVQ. Several third party players also supported the format including WinAmp (with the appropriate input plugin) and K-Jöfol (which supported the format natively).

Third-Party Software

The format was reverse-engineered in 2009 by the FFmpeg project and decoding of vqf files is supported by the open-source libavcodec library,[23] which makes it supported in players that utilize the library, such as VLC media player.

Some older versions of Nero Burning ROM are able to encode to TwinVQ/VQF.


Some CD-Ripping/Converter software also support encoding to .vqf format.

See also

External links

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.[dead link]
  9. Lua error in package.lua at line 80: module 'strict' not found.[dead link]
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. 13.0 13.1 Lua error in package.lua at line 80: module 'strict' not found.
  14. 14.0 14.1 Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.