कोडेक 2

From Vigyanwiki
Codec 2
Developer(s)डेविड ग्रांट रोवे
Initial releaseAugust 25, 2010 (2010-08-25)
Stable release
1.2.0 / June 24, 2023; 18 months ago (2023-06-24)
Repositorygithub.com/drowe67/codec2
Written inC99
PlatformCross-platform
Typeऑडियो कोडेक
LicenseGNU LGPL, v2.1
Websitewww.rowetel.com?page_id=452


कोडेक 2 एक कम-बिटरेट भाषण ऑडियो कोडेक (भाषण कोडिंग) है जो पेटेंट मुक्त और विवृत स्रोत है।[1] कोडेक 2 साइनसोइडल कोडिंग का उपयोग करके भाषण को संपीड़ित करता है, जो मानव भाषण के लिए विशेषीकृत विधि है। 3200 से 450 बिट/सेकेंड की बिट दरें सफलतापूर्वक बनाई गई हैं। कोडेक 2 को एमच्योर रेडियो और अन्य उच्च संपीड़न आवाज अनुप्रयोगों के लिए उपयोग करने के लिए डिज़ाइन किया गया था।

अवलोकन

कोडेक को डेविड ग्रांट रोवे द्वारा अन्य शोधकर्ताओं (उदाहरण के लिए, ओपस (ऑडियो प्रारूप) से जीन-मार्क वेलिन) के समर्थन और सहयोग से विकसित किया गया था।[2]

कोडेक 2 में 3200, 2400, 1600, 1400, 1300, 1200, 700 और 450 बिट/एस कोडेक मोड सम्मिलित हैं। यह अधिकांश अन्य निम्न-बिटरेट वाक् कोडिंग से उत्तम प्रदर्शन करता है। उदाहरण के लिए, यह समान गुणवत्ता के साथ भाषण को एन्कोड करने के लिए उन्नत बहु-बैंड उत्तेजना के आधे बैंडविड्थ का उपयोग करता है। भाषण कोडेक 16-बिट पल्स कोड मॉडुलेशन सैंपल ऑडियो का उपयोग करता है, और पैक्ड डिजिटल बाइट्स आउटपुट करता है। जब पैक्ड डिजिटल बाइट्स भेजे जाते हैं, तो यह पीसीएम सैंपल ऑडियो आउटपुट करता है। ऑडियो नमूना दर 8 किलोहर्ट्ज़ पर तय की गई है।

संदर्भ कार्यान्वयन विवृत स्रोत है और गिटहब रिपॉजिटरी में निःशुल्क उपलब्ध है।[3] स्रोत कोड जीएनयू लेसर जनरल पब्लिक लाइसेंस (एलजीपीएल) के संस्करण 2.1 की नियमो के अनुसार जारी किया गया है।[4] इसे C (प्रोग्रामिंग लैंग्वेज ) में प्रोग्राम किया गया है और वर्तमान स्रोत कोड के लिए फ़्लोटिंग-पॉइंट अंकगणित की आवश्यकता होती है, चूँकि एल्गोरिथ्म को स्वयं इसकी आवश्यकता नहीं होती है। संदर्भ सॉफ्टवेयर पैकेज में एक आवृत्ति-विभाजन बहु प्लेक्स डिजिटल वॉयस सॉफ्टवेयर मॉडेम और डब्ल्यूएक्सविजेट्स पर आधारित एक ग्राफिकल यूजर इंटरफेस भी सम्मिलित है। सॉफ़्टवेयर लिनक्स पर विकसित किया गया है और एप्पल मैकओएस संस्करण के अलावा सीवाईग्विन के साथ बनाया गया माइक्रोसॉफ़्ट विंडोज़ के लिए एक पोर्ट भी प्रस्तुत किया गया है।


कोडेक को विभिन्न सम्मेलनों में प्रस्तुत किया गया है और 2012 अमेरिकन रेडियो रिले लीग तकनीकी नवाचार पुरस्कार प्राप्त हुआ है,[5] और लिनक्स ऑस्ट्रेलिया सम्मेलन का सर्वश्रेष्ठ प्रस्तुति पुरस्कार है ।[6]

प्रौद्योगिकी

आंतरिक रूप से, पैरामीट्रिक ऑडियो कोडिंग एल्गोरिदम मानव आवाज के मॉडल का उपयोग करके 10 एमएस पीसीएम फ्रेम पर काम करते हैं। इनमें से प्रत्येक ऑडियो खंड को स्वरयुक्त (स्वर) या बिना स्वर वाले (व्यंजन) घोषित किया गया है।

कोडेक 2 भाषण को मॉडल करने के लिए साइनसोइडल मॉडल का उपयोग करता है, जो बहु -बैंड उत्तेजना कोडेक्स से निकटता से संबंधित है। साइनसॉइडल कोडिंग ओवरटोन आवृत्तियों और परतों हार्मोनिक साइनसॉइड के पैटर्न में नियमितता (आवधिकता) पर आधारित है। बोले गए ऑडियो को स्पीकर की आवाज़ (पिच) की एक निर्धारित मौलिक आवृत्ति के शीर्ष पर रेखा वर्णक्रमीय जोड़े, या एलएसपी नामक स्वतंत्र आयामों के साथ हार्मोनिक रूप से संबंधित साइन तरंगों के योग के रूप में मॉडलिंग भाषण द्वारा दोबारा बनाया जाता है। हार्मोनिक्स की (मात्राबद्ध) पिच और आयाम (ऊर्जा) को एन्कोड किया गया है, और एलएसपी के साथ एक डिजिटल प्रारूप में एक चैनल में आदान-प्रदान किया जाता है। एलएसपी गुणांक आवृत्ति डोमेन में रैखिक पूर्वानुमानित कोडिंग (एलपीसी) मॉडल का प्रतिनिधित्व करते हैं, और स्वयं को एलपीसी मापदंडों के एक शक्तिशाली और कुशल परिमाणीकरण के लिए उधार देते हैं।[7]

डिजिटल बाइट्स बिट-क्षेत्र प्रारूप में हैं जिन्हें बाइट्स में एक साथ पैक किया गया है। इन बिट क्षेत्र को एक साथ समूहीकृत करने से पहले वैकल्पिक रूप से ग्रे कोड किया जाता है। रॉ भेजते समय ग्रे कोडिंग उपयोगी हो सकती है, किन्तु समान्य रूप से एक एप्लिकेशन बिट क्षेत्र को तोड़ देगा। बिट क्षेत्र विभिन्न पैरामीटर बनाते हैं जिन्हें संग्रहीत या एक्सचेंज किया जाता है (पिच, ऊर्जा, वॉयसिंग बूलियन, एलएसपी इत्यादि)।

उदाहरण के लिए, मोड 3200 में 20 एमएस ऑडियो को 64 बिट्स में परिवर्तित किया गया है। तो 3200 बिट/सेकेंड की न्यूनतम डेटा दर के लिए, हर 20 एमएस (एक सेकंड में 50 बार) 64 बिट आउटपुट होंगे। इन 64 बिट्स को एप्लिकेशन को 8 बाइट्स के रूप में भेजा जाता है, जिसे बिट क्षेत्र को खोलना होता है, या बाइट्स को डेटा चैनल पर भेजना होता है।

एक अन्य उदाहरण मोड 1300 है, जो 40 एमएस ऑडियो भेजता है, और 1300 बिट/सेकेंड की न्यूनतम दर के लिए हर 40 एमएस (एक सेकंड में 25 बार) 52 बिट्स आउटपुट करता है। ये 52 बिट्स एप्लिकेशन या डेटा चैनल पर 7 बाइट्स के रूप में भेजे जाते हैं।

स्वीकरण

कोडेक 2 का उपयोग वर्तमान में कई रेडियो और सॉफ्टवेयर डिफाइंड रेडियो प्रणाली में किया जाता है

कोडेक 2 को फ्रीस्विच में भी एकीकृत किया गया है और एस्टरइस्क(पीबीएक्स) में समर्थन के लिए एक पैच (कंप्यूटिंग) उपलब्ध है।

एमच्योर रेडियो क्यूबसैट लिलाकसैट-1 (कॉल साइन ओएन02 सीएन, क्यूबी50 तारामंडल) पर पृथ्वी की कक्षा में एक एफएम-टू-कोडेक 2 डिजिटल वॉयस रिपीटर था, जिसे 2017 में अंतर्राष्ट्रीय अंतरिक्ष स्टेशन से लॉन्च किया गया था और बाद में तैनात किया गया था।[13]

इतिहास

प्रमुख मुफ्त सॉफ्टवेयर अधिवक्ता और एमच्योर रेडियो ऑपरेटर ब्रूस पेरेन्स ने 5 kBit/s से कम पर संचालन के लिए एक मुफ्त भाषण कोडेक के निर्माण की पक्ष समर्थन की। चूंकि उनके पास स्वयं पृष्ठभूमि नहीं थी, इसलिए उन्होंने 2008 में जीन-मार्क वेलिन से संपर्क किया, जिन्होंने उन्हें प्रमुख डेवलपर डेविड ग्रांट रोवे से मिलवाया, जिन्होंने कई अवसरों पर स्पीक्स पर वेलिन के साथ काम किया है। रोवे स्वयं भी एक रेडियो एमच्योर (एमच्योर रेडियो कॉल चिह्न वीके5डीजीआर) थे और उन्हें भाषण सिग्नल के लिए वॉयस कोडेक्स और अन्य सिग्नल प्रोसेसिंग एल्गोरिदम बनाने और उपयोग करने का अनुभव था। उन्होंने 1990 के दशक में भाषण कोडिंग में पीएचडी प्राप्त की और पहले सेटेलाइट फोन प्रणाली (मोबाइलसैट) में से एक के विकास में सम्मिलित थे।

वह इस कार्य के लिए सहमत हो गए और 21 अगस्त 2009 को एक प्रारूप पर काम करने के अपने निर्णय की घोषणा की। उन्होंने अपने डॉक्टरेट थीसिस से अनुसंधान और निष्कर्षों पर काम किया।[14][15] अंतर्निहित साइनसॉइडल मॉडलिंग 1980 के दशक के मध्य से रॉबर्ट जे. मैकऑले और थॉमस एफ. क्वाटिएरी (एमआईटी लिंकन लैब्स) के विकास पर आधारित है।

अगस्त 2010 में, डेविड रोवे ने संस्करण 0.1 अल्फा प्रकाशित किया।[16] वर्जन 0.2 को 2011 के अंत में जारी किया गया था, जिसमें 1,400 बिट्स/एस के साथ एक मोड और परिमाणीकरण में महत्वपूर्ण सुधार प्रस्तुत किया गया था।

जनवरी 2012 में, linux.conf.au पर, जीन-मार्क वैलिन ने लाइन स्पेक्ट्रल जोड़े के परिमाणीकरण में सुधार करने में सहायता की, जिससे रोवे कम परिचित हैं।[17] सर्दियों और वसंत 2011/2012 में उपलब्ध बिट दर मोड में कई परिवर्तनों के बाद, उस वर्ष मई के बाद 2,400, 1,400 और 1,200 बिट/एस मोड उपलब्ध थे।

कोडेक 2 700C, 700 बिट/सेकेंड की बिट दर वाला एक नया मोड, 2017 की प्रारंभ में समाप्त हो गया था।[18]

जुलाई 2018 में एक प्रायोगिक 450 बिट/एस मोड का प्रदर्शन किया गया था, जिसे एर्लांगेन-नूरेमबर्ग विश्वविद्यालय में एक मास्टर थीसिस के हिस्से के रूप में विकसित किया गया था। सदिश परिमाणीकरण के चतुर प्रशिक्षण द्वारा 700C मोड के सिद्धांत के आधार पर डेटा दर को और कम किया जा सकता है।[19]

संदर्भ

  1. "DCC2011-Codec2-VK5DGR" (PDF).
  2. "A Pitch-Energy Quantizer for Codec2". Archived from the original on 2015-06-19.
  3. "Repository for Codec 2 Source". GitHub. 14 October 2021.
  4. "Codec2 – an Open Source, Low-Bandwidth Voice Codec". Slashdot. 21 September 2010.
  5. "ARRL Board of Directors Names Award Recipients at 2012 Second Meeting". www.arrl.org.
  6. "Linux Australia 2012 conference". Archived from the original on 2012-11-29. Retrieved 2012-08-02.
  7. "हार्मोनिक साइनसॉइडल कोडिंग की तकनीकें" (PDF). Archived from the original (PDF) on 2013-05-15. Retrieved 2013-04-12.
  8. "FreeDV: Open Source Amateur Digital Voice – Where Amateur Radio Is Driving The State of the Art".
  9. "FreeDV, CODEC2 and the WaveformAPI". Archived from the original on 2015-04-02. Retrieved 2015-03-06.
  10. "Introducing the SM1000 Smart Mic – Rowetel". 21 May 2014.
  11. "क्विस्क, एक सॉफ्टवेयर डिफाइंड रेडियो (एसडीआर)". james.ahlstrom.name.
  12. "M17 protocol description". GitHub.
  13. "QB-50 Constellation Satellites Deployed from ISS". American Radio Relay League website. 2017-11-15. Retrieved 2019-03-31.
  14. "संग्रहीत प्रति" (PDF). Archived from the original (PDF) on 2013-05-15. Retrieved 2013-04-12.
  15. "Open Source Low Rate Speech Codec Part 1 – Rowetel". 21 August 2009.
  16. "Codec2 V0.1 Alpha Released – Rowetel". 25 August 2010.
  17. "A Pitch-Energy Quantizer for Codec2".
  18. "Open Source Codec Encodes Voice Into Only 700 Bits Per Second". Slashdot. 13 January 2017. Retrieved 2019-03-31.
  19. "Codec2 HF digital voice at 450 bps". Southgate Amateur Radio News. 2018-07-08. Retrieved 2019-03-31.


बाहरी संबंध